eval返回int而不是python中的列表

时间:2015-03-04 16:37:57

标签: python python-2.7

当我在python中执行以下代码时,我得到一个错误说“TypeError:'int'类型的对象没有len()”。但是相同的命令在解释器中单独工作。

for line in inputFile:
    newline = line.strip()
    print len(newline)
    mylist = eval(newline)
    print len(mylist)

行字符串上的eval命令会返回列表还是int值?请帮忙。

1 个答案:

答案 0 :(得分:0)

docs,您可以看到 eval 将返回评估时python表达式将产生的任何内容(例如,当您在解释器中按Enter键时)。所以,如果输入文件有这一行:

2 + 2

然后

eval("2+2") 

将返回4,这是一个int并且没有长度。