我正在尝试一个程序,它可以读取目录中的所有文件,当' color = brown'如果找到' color = brown'那么我的程序必须停止阅读。在下一个文件中。我的意思是,应该首先满足条件。
我尝试了一个程序,它打印所有文件中的所有颜色=棕色,但我必须在第一次阅读后停止。请帮忙!
import os
path = r'C:\Python27'
data = {}
for dir_entry in os.listdir(path):
dir_entry_path = os.path.join(path, dir_entry)
if os.path.isfile(dir_entry_path):
with open(dir_entry_path, 'r') as my_file:
for line in my_file:
for part in line.split():
if "color=brown" in part:
print part
请帮忙!答案将不胜感激!
答案 0 :(得分:3)
您可以设置一个变量,说明您已完成,然后突破每个循环 但是根据循环的嵌套,使用异常跳出循环可能会更清晰(有点像C中的goto):
try:
for m in range(10):
for n in range(10):
if m == 5 and n == 15:
raise StopIteration
except StopIteration:
print "found"
else:
print "not found"
print "always runs unless the other clauses return"
答案 1 :(得分:1)
你正在寻找休息声明。
...
if "color=brown" in part:
print part
# set some variable to check at the last thing before your other for loops
# turnover.
br = True
break
然后使用它来突破你发起的每个其他两个循环。
if br == True:
break
else:
pass
if br == True:
break
else:
pass