所以,我有一个目录,其中包含许多2种类型的文本文件,一堆以“summary_”开头的文件和一堆以“log”开头的文件。所有这些文本都在同一目录中。现在我不关心“日志”文本文件,我只关心以“摘要”开头的文件。
每个“摘要”文件包含7行文本或14行文本。 在每一行的末尾,根据测试结果,它将表示PASS或FAIL。对于要通过的测试结果,所有7或14行必须在结尾处说“通过”。如果其中一行只有一个“失败”,则测试失败。我想计算通过次数和失败次数。
import os
import glob
def pass_or_fail_counter():
pass_count = 0
fail_count = 0
os.chdir("/home/dario/Documents/Log_Test")
print("Working directory is ") + os.getcwd()
data = open('*.txt').read()
count = data.count('PASS')
if count == 7 or 14:
pass_count = pass_count + 1
else:
fail_count = fail_count + 1
print(pass_count)
print(fail_count)
f.close()
pass_or_fail_counter()
答案 0 :(得分:2)
我不知道在Pycharm中,但是如果没有它,以下似乎也可以工作:
import os
import glob
def pass_or_fail_counter(logdir):
pass_count, fail_count = 0, 0
for filename in glob.iglob(os.path.join(logdir, '*.txt')):
with open(filename, 'rt') as file:
lines = file.read().splitlines()
if len(lines) in {7, 14}: # right length?
if "PASS" in lines[-1]: # check last line for result
pass_count += 1
else:
fail_count += 1
print(pass_count, fail_count)
pass_or_fail_counter("/home/dario/Documents/Log_Test")