我有一个包含多行的文件,其中一行读作:loop_iter 10 {apples = 0;桔子= 0}
import sys
import re
input_file = open(r'C:\infile')
pat_file_read = input_file.read()
for line in input_file_read:
match = re.search("loop_iter\s*(\d+)" , input_file_read)
print match.group(1)
现在我可以打印多次文件中的行,如果我这样做
for line in input_file_read:
if line.startswith("loop_iter"):
match = re.search("loop_iter\s*(\d+)" , input_file_read)
print match.group(1)
不起作用......
答案 0 :(得分:1)
Stack Overflow中的语法着色可能已经给你一个提示......但看起来你的引号不匹配:
if line.startswith('loop_iter"):
尝试
if line.startswith("loop_iter"):
答案 1 :(得分:0)
一旦我将match.group(1)转换为整数,我想我得到了它。
import sys
import re
input_file = open(r'C:\infile')
pat_file_read = input_file.read()
for line in input_file_read:
match = re.search("loop_iter\s*(\d+)" , input_file_read)
i = int(match.group(1))
for x in range i:
print 'something'