需要帮助在python中使用continue

时间:2014-05-15 17:37:04

标签: python loops for-loop

我正在尝试重新学习python,因为自从我上次搞砸了它已经有5年了。在以下搜索程序中使用“继续”即可给我一个“继续”#39;不正确的循环错误。有什么建议吗?

# XML search function, 5/15/2014

import os, re

def main():

    path = 'C:/Python34/test'
    listing = os.listdir(path)
    for infile in listing:
        text = open(path + '/' + infile).read()
        match = re.search('hi', text)
    if match is None:
        continue
    print ('true')
    start = match.start()
    end = re.search('bye', text).start()
    print (text[start:end])
    print ('------------------------------------')

main()

2 个答案:

答案 0 :(得分:2)

for infile in listing:
    text = open(path + '/' + infile).read()
    match = re.search('hi', text)
    if match is None:
        continue

你缩进了这一部分。如上所示缩进最后两行。

答案 1 :(得分:2)

如果可能,请避免使用continue,因为它会隐藏程序的逻辑流程。

import os
import re

def main():
    path = r'C:\Python34\test'
    listing = os.listdir(path)
    for infile in listing:
        with open(os.path.join(path, infile)) as data:
            text = data.read()
        match = re.search('(hi.*?)bye', text, re.DOTALL)
        if match:
            print('true')
            print(match.group(1))
            print('------------------------------------')

if __name__ == '__main__':
    main()    

使用os.path.join组合路径。使用with打开文件,以便自动关闭。