[英]Replace escaped double quotes to single quotes in Python using regex
[英]Using python, How to replace single quotes to double quotes
我在雙引號中輸入,在處理一些操作后需要在雙引號中顯示 output ,其中它以單引號格式給出
代碼:
def movie_data(movie_list):
mve = {}
for k, v in movie_list.items():
if type(v) == str:
mve[k] = str(v) if v else None
elif type(v) == dict:
mve[k] = movie_data(v)
else:
pass
return mve
movie_list = {"name":"Marvel","movies": {"spiderman":"Tom","Thor":"Chris"},"Review":"5star"}
movie_data(movie_list)
Output:
{'name': 'Marvel', 'movies': {'spiderman': 'Tom', 'Thor': 'Chris'}, 'Review': '5star'}
預期 Output:
{"name":"Marvel","movies": {"spiderman":"Tom","Thor":"Chris"},"Review":"5star"}
我不確定你的動機是什么,但我唯一想要的是當我希望我的字典可以復制/粘貼 JSON 文件時。 事實證明json
模塊恰好在您的情況下同時執行這兩種操作:
import json
def movie_data(movie_list):
mve = {}
for k, v in movie_list.items():
if type(v) == str:
mve[k] = str(v) if v else None
elif type(v) == dict:
mve[k] = movie_data(v)
else:
pass
return mve
movie_list = {
"name": "Marvel",
"movies": {"spiderman": "Tom", "Thor": "Chris"},
"Review": "5star",
}
print(json.dumps(movie_data(movie_list)))
# {"name": "Marvel", "movies": {"spiderman": "Tom", "Thor": "Chris"}, "Review": "5star"}
嘗試使用json
package。
import json
a = movie_data(movie_list)
print(json.dumps(a))
Python 對字符串使用單引號或雙引號: "abc" == 'abc'
。
默認情況下, print
將顯示單引號,除非字符串已經包含引號:
>>> "123"
'123'
>>> d = {'a': "b"}
>>> print(d)
{'a': 'b'}
>>> d
{'a': 'b'}
所以這些輸出是相等的。 區別來自 Python 的 print function。
>>> a = {'name': 'Marvel', 'movies': {'spiderman': 'Tom', 'Thor': 'Chris'}, 'Review': '5star'}
>>> b = {"name":"Marvel","movies": {"spiderman":"Tom","Thor":"Chris"},"Review":"5star"}
>>> a == b
True
如果打印字典,它將使用字典方法__str__
將字典轉換為可打印字符串。 __str__
方法是使用單引號的方法。
movie_list = {"name":"Marvel","movies": {"spiderman":"Tom","Thor":"Chris"},"Review":"5star"}
print(movie_list.__str__())
獲得雙引號的方法是:
這是執行此操作的代碼:
movie_list = {"name":"Marvel","movies": {"spiderman":"Tom","Thor":"Chris"},"Review":"5star"}
movie_list_str = movie_list.__str__().replace("'", '"')
print(movie_list_str)
output 是:
{"name": "Marvel", "movies": {"spiderman": "Tom", "Thor": "Chris"}, "Review": "5star"}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.