我正在尝试重新学习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()
答案 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
打开文件,以便自动关闭。