我有一个字符串,但是我无法使用ast.literal_eval
将其解码为字典。
发现错误,编码错误的字符串!
它应该转换的字符串:(链接到Google Dock)https://docs.google.com/document/d/1jGjIPEzB9j48i1LDKQ2__Nhg5OE4R_jeaGCFq_DFr2M/edit?usp=sharing
Fallback:
Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__ return self.func(*args) File "C:/Users/user/Documents/Python/Documents/pickle_viewer/PickleViewer.py", line 444, in selectItem item_dict = ast.literal_eval(itemInfo["tags"][2]) File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\ast.py", line 46, in literal_eval node_or_string = parse(node_or_string, mode='eval') File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\ast.py", line 35, in parse return compile(source, filename, mode, PyCF_ONLY_AST) File "<unknown>", line 1
要转换的代码:
item_dict = ast.literal_eval(itemInfo["tags"][2])
这将生成字符串:
def json_tree(tree, parent, dictionary): tmp_key = tree.insert(parent, 'end', uid, text=key + ' [...]', value="[...]", tag=(uid, True, dictionary[key]))
我认为这是因为所有的反斜杠,但我不知道它们来自何处
链接到Google文档上的复制代码:https://docs.google.com/document/d/1CDSNqi3FqgRaVUv-N5eoV5R3xxS_atbSybaYXmC5cNE/edit?usp=sharing
有人可以帮我吗?谢谢。
我有一个字符串,但是我无法使用ast.literal_eval将其解码为字典,发现错误,编码错误的字符串!它应该转换的字符串:(链接到Google Dock)https://docs.google.com / ...
更新后的答案:
[抱歉,这完全是我的错,我错误地解码了起始字符串。现在,它已正确解码,这为我节省了所有其余部分,我可以轻松使用ast.literal_eval(STRING)再次。