在python中打印一次的Else语句

在python中打印一次的Else语句,python,Python,有没有办法只打印一次“无日期”字样 我总是这样打印 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 我想要这样的印刷品 no date no date 24 - 8 - 1995 no date no date no date

有没有办法只打印一次“无日期”字样

我总是这样打印

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
我想要这样的印刷品

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"
感谢您的帮助

您可以将:

这样,如果循环正常执行,即未通过
break退出,
else
部分将执行


此外,您可能希望对
使用
,以便正确关闭文件,并直接迭代文件对象,而不是使用
读线
将其全部内容不必要地加载到内存中,并在
中使用
而不是
查找

谢谢。最后,这是答案