SyntaxError:解析文本文件时解析时出现意外的EOF

时间:2014-02-28 01:42:54

标签: python

我正在尝试使用一堆MD5哈希密码解析txt文件(用于分配) 我的代码是

with open('weak.txt') as f:
    i = 0
    for line in f:
        weak.append(eval(line.strip()))
        if 'str' in line:
            break

但我来了

SyntaxError: unexpected EOF,   File "<string>", line 1
    1660fe5c81c4ce64a2611494c439e1ba
                                   ^

我尝试将原始输入添加到我的代码中,但它只是挂起。任何想法?

1 个答案:

答案 0 :(得分:2)

您不应该致电eval

with open('weak.txt') as f:
    i = 0
    for line in f:
        weak.append(line.strip())
        if 'str' in line:
            break

eval函数尝试将字符串解释为一系列python语句。你不希望这样。通常没有充分的理由使用eval。您希望md5sum为字符串。当您使用语句f迭代for line in f时,您要求文件对象为文件中的每一行返回字符串对象。换句话说,line已经包含了你想要的东西,你不需要让python解释器执行它。