在文件中搜索特定单词后面的数字并迭代该数字

时间:2014-07-24 01:46:26

标签: python iteration

我有一个包含多行的文件,其中一行读作: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)  

不起作用......

2 个答案:

答案 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'