1
在下面的for循环中,我试图理解为什么count
的正确值仅在第一次循环运行时返回。为什么计数的正确值首次返回for循环?
我正在创建一个解析程序来查找文本文件中的某些字符串并对它们进行计数。不过,我在一个地方遇到了一些麻烦。
def callbrowse():
filename = tkFileDialog.askopenfilename(filetypes = (("Text files", "*.txt"),("HTML files", ".html;*.htm"),("All files", "*.*")))
print filename
try:
global filex
global writefile
filex = open(filename, 'r')
print "Success!!"
print filename
except:
print "Failed to open file"
######This returns the correct count only the first time it is run. The next time it ######returns 0. If the browse button is clicked again, then this function returns the ######correct count again.
def count_errors(error_name):
count = 0
for line in filex:
if error_name == "CPU > 79%":
stringparse = "Utilization is above"
elif error_name == "Stuck touchscreen":
stringparse = "Stuck touchscreen"
if re.match("(.*)" + "Utilization is above" + "(.*)",line):
count = count + 1
return count
感谢您的任何帮助。我似乎无法让这个工作正确。
嗯......你的代码很难阅读。请尝试添加一些换行符和缩进以使其更清晰。 – carmenism
我没有看到你实际调用count_errors的代码中的一个点... – mnowotka