파이썬 스크립트를 사용하여 생성 도구와 컴파일러를 호출하는 배치 파일을 호출합니다. 내가 사용하여 출력 파일이 저장 :파이썬 콘솔에서 txt 파일로 리디렉션 메시지
os.system("run.bat >output.txt")
문제는 경고와 컴파일러 오류가이 출력 파일에 저장되지 않는다는 것입니다 - 그것들은 오직 파이썬 콘솔에 표시됩니다.
출력을 파일로 저장하는 방법은 무엇입니까?
파이썬 스크립트를 사용하여 생성 도구와 컴파일러를 호출하는 배치 파일을 호출합니다. 내가 사용하여 출력 파일이 저장 :파이썬 콘솔에서 txt 파일로 리디렉션 메시지
os.system("run.bat >output.txt")
문제는 경고와 컴파일러 오류가이 출력 파일에 저장되지 않는다는 것입니다 - 그것들은 오직 파이썬 콘솔에 표시됩니다.
출력을 파일로 저장하는 방법은 무엇입니까?
당신은 몇 가지 할 수 있습니다 : 표준 출력과 표준 에러 파일
os.system
전화의 표준 오류의 리디렉션에 대한 핸들을 얻을 수
subprocess
가족.첫 번째 것은 더 파이썬 문자이며 파이썬 스크립트가 오류를 인식 할 수 있습니다.
같은 파일을 표준 오류 리디렉션하는 간단한 방법은 다음과 같이이다 :
os.system("run.bat > output.txt 2>&1")
~ 당신이 오류가 처리하지, 또는 더 나쁜, 당신이 경우에는 표시가없는 os.system을 사용하지 마십시오 오류가 발생했습니다.
이 같은이 문제를 해결할 :
from subprocess import Popen, PIPE
proc = Popen(['run.bat'], stdout=PIPE, stderr=PIPE)
result = proc.communicate()
with open('output.txt', 'w') as output:
output.write(result[0])
with open('errors.txt', 'w') as errors:
errors.write(result[-1])
을