有没有办法打印一次“没有约会”?
我总是这样打印
no date
no date
24 - 8 - 1995
no date
no date
no date
no date
no date
03 - 12 - 2014
no date
....
我想要像这样打印
24 - 08 - 1995
03 - 12 - 2014
no date
15 - 10 - 1995
no date
这是代码
import os
for dirname, dirnames, filenames in os.walk('D:/Workspace'):
for filename in filenames:
if filename.endswith('.c'):
for line in open(os.path.join(dirname, filename), "r").readlines():
if line.find('date') != -1:
print line
break
else:
print "no date"
感谢您的帮助
答案 0 :(得分:0)
您可以放置else
after the for
loop:
with open(os.path.join(dirname, filename), "r") as f:
for line in f:
if 'date' in line:
print line
break
else:
print "no date"
这样,如果循环正常执行,else
部分将执行,即如果没有通过break
退出。
此外,您可能希望使用with
以便正确关闭文件,并直接迭代文件对象,而不是使用readlines
将其整个内容不必要地加载到内存中,并使用in
而不是find
。