import ast
dict_from_file=[]
with open('4.txt', 'r') as inf:
dict_from_file = ast.literal_eval(inf.read())
File "<unknown>", line 1
["hello":"work", "please":"work"]
^
SyntaxError: invalid character in identifier
大家好!以上是我的代码和我的错误。我有一个非常复杂的40MB数据文件,以字典的形式工作,但无法进行工作,所以尝试了一个简单的。
我在Windows 10上使用最新版Anaconda的最新Jupyter笔记本。我的字典是使用Windows记事本创建的txt文件。复杂的字典最初是一个JSON文件,我改成了一个txt文件,认为它会更容易,但我可能错了。
我认为上述错误是编码问题?但不知道如何解决它。
谢谢!
答案 0 :(得分:0)
如果您是文件的所有者/写入者(dict格式化),请另存为json
import json
#To write
your_dict = {.....}
with open("file_name.txt", "w+") as f:
f.write(json.dumps(your_dict)
#To read
with open("file_name.txt") as f:
read_dict = json.load(f)
答案 1 :(得分:0)
这可能是python 3的“功能”。 该代码在输入文件的开头删除了不需要的字符,并以字符串类型返回输入数据。
with open('4.txt', 'r',,encoding="utf-8-sig") as inf:
dict_from_file = ast.literal_eval(inf.read())
这将删除读取数据开头的奇怪字符。