python读取文件并在条件满足时停止

时间:2014-06-28 10:36:57

标签: python

我正在尝试一个程序,它可以读取目录中的所有文件,当' 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

请帮忙!答案将不胜感激!

2 个答案:

答案 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