如何在循环校验样本后根据条件向文本文件写入测试结果
嘿,我来帮你搞定把校验结果写入文本文件的问题~
解决思路与修改后的代码
首先得先修正原代码里的一个小瑕疵:你当前的pass_check会被最后一次循环的结果直接覆盖,没法准确判断所有样本是否都通过校验。我们应该先把它初始化为1(默认所有样本都合格),只要发现任何一个样本不符合条件,就把它改成0,这样最终的pass_check就能正确反映整体校验结果啦。
下面是包含写入文件逻辑的完整代码:
# 初始化pass_check为1(默认所有样本都通过) pass_check = 1 t = 0 while t < len(var): PR = y # ... 这里保留你原来的其他业务逻辑 if z[t] >= PR: # 只要有一个样本不满足条件,直接标记为不通过 pass_check = 0 t = t + 1 # 生成要写入的结果文本 result_text = 'Test is pass' if pass_check == 1 else 'Test is fail' # 写入文本文件:用with语句自动管理文件,安全又省心 with open('test_result.txt', 'w') as f: f.write(result_text) # 也可以保留控制台打印的逻辑 print(result_text)
关键细节说明:
- 校验逻辑优化:一开始假设所有样本都通过,只要有一个样本不符合
z[t] < PR的要求,就把pass_check设为0,循环结束后就能准确得到整体校验结果。 - 文件写入方式:
with open(...)是Python推荐的文件操作方式,它会在代码块结束后自动关闭文件,避免忘记关文件导致的问题。'w'表示写入模式:文件不存在会自动创建,存在则覆盖原有内容。 - 结果简化判断:用三元表达式替代了原来的多分支
if-elif-else,代码更简洁易读。
如果需要追加结果而不是覆盖文件,把打开模式改成'a'(追加模式)就行,记得加换行符让每次结果单独一行:
with open('test_result.txt', 'a') as f: f.write(result_text + '\n')
内容的提问来源于stack exchange,提问作者Poka
相关产品推荐
相关产品推荐

