많은 파일에서 파이썬 스크립트를 실행하고 출력을 읽으려고합니다.python에서 실행이 제대로 끝나는 지 확인하십시오.
if file == "output":
하지만이 출력은 실행이 정상적으로 완료되면 확인 dosn't : 파일로 존재하는 경우 현재 만 확인합니다. 실행이 제대로 끝나면 파일의 마지막 줄은 "이 작업은"
으로 끝납니다.이 마지막 행 하나의 파일을 어떻게 읽을 수 있습니까? 파이썬 (초보자) 내 현재의 지식으로 가, 내가 관리해야 :
#!/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")
이 코드의 문제는 : 그것은 모르는
- 은 "이 실행이에 완료"경우 행은 파일의 끝에서 두 번째 행인 입니다.
- 잘 모르겠지만, 여기에 파이썬은 파일을 순차적으로 읽어야합니다 .... 각 10000+ 회선에 대해 각 파일.
그래서 전체 파일을 읽지 않고도 행이 존재하는지, 마지막 두 행 사이에 있는지 확인하는 것이 더 좋을까요?
[파일의 마지막 몇 줄 읽는 법] (http://stackoverflow.com/a/260433/4279). 10K +가 작기 때문에 마지막 두 줄을 얻기 위해서'if1.readlines() [- 2 :]'만 쓸 수 있습니다. – jfs
@ J.F.Sebastian OP는 그의 라인이 얼마나 오래되었는지를 말하지 않았으며 그는 효율적인 방법을 요구하고 있습니다. – simonzack
@imonzack : 그리고? 내 이전 의견에서 링크를 발견 했습니까? – jfs