问题描述
我需要删除转义序列。如何使用python做到这一点?
- 当前结果
Traceback (most recent call last):
File "c:/Users/SterlingTech/Desktop/javis folder/javis 1.0.py",line 215,in <module>
os.startfile(os.path.join(songs_dir,music[no]))
TypeError: list indices must be integers or slices,not str
- 整形后(我想得到这个)
"conv": "\"XXXXX\"",
解决方法
使用replace
conv = "\"XXXXX\""
conv = conv.replace("\"","")
,
您可以使用str.replace
方法删除字符串。
'\"XXXXX\"'.replace("\"","") # returns 'XXXXX'
这里是使用str.replace()
的方法 ,您可以使用json decoder
import json
x = {"conv": "\"XXXXX\""}
x['conv'] = json.loads(x['conv']) # sets conv to "XXXXX"
,
您需要在反斜杠上加倍,否则最终将无法解析为json,因为否则您将替换所有"
字符并保留反斜杠:
s = s.replace('\\"','')
import json
d = {"conv": "\"XXXXX\""}
s = json.dumps(d)
print(s) # -> {"conv": "\"XXXXX\""}
s = s.replace('\\"','')
print(s) # -> {"conv": "XXXXX"}
print(json.loads(s)) # -> {'conv': 'XXXXX'}