【发布时间】:2015-06-23 08:30:28
【问题描述】:
我正在使用不是我编写的 python 程序逐行读取文本文件,我发现了一个错误“SyntaxError: unexpected EOF while parsing”,我在一个数字字符串上将其缩小到eval()。
文件如下:
0,0.0,1,12,2,36,1
422189799,166217249.0,1,12,2,36,1
代码如下:
istream = fopen(fin, 'r')
for line in istream.readlines():
for v in line.replace('\n', '').split(','):
print v
eval(v)
错误看起来像:
eval(v)
File "<string>", line 1
1
^
SyntaxError: unexpected EOF while parsing
发生在第一行的最后一个字段1。
我想知道问题是什么?谢谢。
【问题讨论】:
-
你期望通过评估一个数字序列会发生什么?
-
我猜 eval() 将数字字符串转换为适当的数字类型。程序不是我写的。
-
只需删除该行。因为它不存储结果,所以它除了在无法计算表达式时抛出错误之外什么都不做。
-
这至少可以说很奇怪......
-
行尾出现神秘行为的常见罪魁祸首是 DOS 回车。请参阅
bashtag wiki 了解一些故障排除提示。
标签: python python-2.6