我正在运行一个程序,该程序从名为questions.txt
的文件中读取字典。
{
1:{0:'question',1:{1:'answer1a',2:'answer1b'},2:'answer2'},
2:{0:'question',1:'answer1',2:'answer2'},
3:{0:'question',1:'answer1',2:'answer2'},
4:{0:'question',1:'answer1',2:'answer2'}
}
我正在使用文件dictict.pyw
中的这段代码来读取字典的某些部分。
fQDict = open("questions.txt", "r")
QDict = " "
for i in fQDict.read().split():
QDict += i
fQDict.close()
QDict = eval(QDict)
print(QDict)
print(QDict[1])
print(QDict[1][0])
print(QDict[1][1])
print(QDict[1][1][1])
[当我运行程序时,python在source code string cannot contain null bytes
行上抛出一个错误,说QDict = eval(QDict)
,为什么?
您的文件包含空字节字符
sed -i 's/\x0//g' null.txt
这应该有助于从文件中删除这些字符。
谢谢大家的建议和解答。我发现的解决方案是将文件从写字板更改为记事本,因为写字板将代码嵌入到文件中。