我正在尝试在许多文件中运行python脚本,并读取输出。 目前,它仅通过以下方式检查文件是否存在:
if file == "output":
但是此输出不能确认运行是否正确完成。运行正确完成后,文件的最后一行是: “这次演出结束于”
如何读取这个最后一行文件? 凭借我目前在python(新手)方面的知识,我设法做到了:
#!/usr/bin/python3
import os
input = "FeMnPSi_EOS_10."
for subdirs, dirs, files in os.walk(input):
for file in files:
if file == "out-Dy-eos2":
print("file found")
ifile=input+"/"+file
with open(ifile, "r") as if1:
for line in if1:
if "This run finished at" in line:
print("Ends Properly")
此代码的问题是:
那么,我是否可以更好地检查线条是否存在,以及最后两行,而不读取整个文件?
答案 0 :(得分:-1)
您缺少的位是if1.readlines()
,它以字符串列表的形式读取整个文件。然后,您可以使用切片表示法访问last-but-one元素。
with open(ifile, 'rb') as if1:
if "This run finished at" in if1.readlines()[-2]
print("Ends Properly")