解析Python时意外的EOF:1个打开文件中的2个正则表达式

时间:2018-06-01 07:31:03

标签: python regex

file = open(fname, 'r') codes = re.findall('LIR: (.+)', file.read()) functions = re.findall(';(.+);LIR', file.read())

我试图从单个文件中的每一行中提取2个不同的字符串。

它得到了 SyntaxError: unexpected EOF while parsing

1 个答案:

答案 0 :(得分:0)

您的代码第一次调用file.read()时,它正在读取整个文件。第二次你的代码调用它,而没有先关闭文件并重新打开它,它是在EOF。

如果要从文件的各行中提取内容,请遍历文件:

codes = []
functions = []
with open(fname,'r') as file:
    for line in file:
        codes.extend(re.findall('LIR: (.+)',line))
        functions.extend(re.findall(';(.+);LIR', line))