【发布时间】:2017-11-06 11:35:38
【问题描述】:
(Python 3.x)所以我在读取文件时不断收到语法错误。我有这个问题有一段时间了。到目前为止,我一直在研究程序的其他部分(未显示),但无法解决此语法错误。我很困扰。 我对发布语法错误感到内疚,但我没有想法。
这里是错误:语法错误:解析时意外 EOF: , line 0, pos 0 @ line 8
代码:
def main():
filename = 'p4input.txt'
infile = open(filename, "r")
command = 0
while command != 3 and command < 3:
command = eval(infile.readline()) #Problem here
convert = eval(infile.readline())
print(command)
print(convert)
print("done")
main()
输入文件(p4input.txt) 有以下数据:
2
534
1
1101
Complete traceback:
Traceback (most recent call last):
File "C:/Users/Ambrin/Desktop/CS 115/TESTER.py", line 16, in <module>
main()
File "C:/Users/Ambrin/Desktop/CS 115/TESTER.py", line 8, in <module>
command = eval(infile.readline())
File "<string>", line 0, in ?
Syntax Error: unexpected EOF while parsing: <string>, line 0, pos 0
【问题讨论】:
-
语法错误位于您尝试评估的“p4input.txt”的数据行中:您无法评估空行。通常应避免使用
eval(和exec),因为它们可能存在安全风险。有关详细信息,请参阅 SO 老将 Ned Batchelder 的Eval really is dangerous。 -
@PM2Ring 哦,好的。我现在明白了。谢谢!
标签: python python-3.x syntax-error