문제:
로깅과 동시에 출력을 콘솔에 표시하는 방법 시스템 호출을 포함하여 파일로 변환 출력?
해결책:
Tee 클래스를 활용하여 리디렉션 없이 시스템 출력을 로그 파일에 복제합니다.
먼저 필요한 라이브러리를 가져옵니다.
import sys
그런 다음 Tee를 인스턴스화합니다. object:
tee = Tee("my_log.txt", 'w')
이렇게 하면 지정된 로그 파일이 열리고 이후의 모든 stdout 출력이 파일과 콘솔 모두에 복제됩니다.
마지막으로 다음과 같은 경우 stdout을 원래 상태로 되돌리십시오. 완료:
del tee
사용 예:
with Tee("my_log.txt", 'w'): print("foo bar") os.spawnve("P_WAIT", "/bin/ls", ["/bin/ls"], {}) os.execve("/bin/ls", ["/bin/ls"], os.environ)
이 코드는 "foo bar"를 콘솔에 인쇄하고 "my_log.txt"에 기록할 뿐만 아니라 실행된 시스템 명령의 모든 출력을 기록합니다.
위 내용은 프로그램 출력을 콘솔에 동시에 표시하고 파일에 기록하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!