其他语句在python中打印一次
问题描述:
有没有办法打印“no date”一次?其他语句在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
这是代码
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"
感谢帮助
答
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"
这样,如果循环,如果它不是经由break
退出正常执行,即else
部分将被执行。你
可能还需要使用with
所以文件被正确关闭,遍历文件对象,而不是直接不必要加载其全部内容到内存readlines
,并使用in
,而不是find
。
Thankyouu。最后这是答案 – lalalala 2014-12-03 14:34:14