장기 실행 프로그램이 파일 출력을 리디렉션합니다.

장기 실행 프로그램이 파일 출력을 리디렉션합니다.

수학 연구를 돕기 위해 Python2 프로그램을 작성하고 이를 bash에서 다음과 같이 호출했습니다.

python myprog.py > myoutput.txt

먼저 작은 입력 값 세트에 대해 실행하고 1초 이내에 출력을 얻습니다.

이제 더 큰 입력 데이터에서 몇 시간 동안 실행되었습니다. 따라서 출력에는 이전 실행의 출력이 하위 집합으로 포함되어야 합니다. 다른 터미널 창에서는 호출 시 "myoutput.txt"가 생성되지만 비어 있는 것을 볼 수 있습니다. 내가 볼 수 있는 출력이 저장되는 임시 위치가 있습니까?

내 프로그램에는 for 루프가 있으며 루프가 반복될 때마다 한 줄을 출력해야 합니다. 범위가 1~35이면 즉시 35라인이 출력됩니다. 1에서 175까지 범위를 늘리면 거의 하루가 지나도 아무런 출력이 없습니다. 누구든지 도와줄 수 있나요?

답변1

나쁜 습관 - 리디렉션은 프로그램 끝에서만 쓰기를 수행합니다.

로깅 모듈을 사용하십시오.https://docs.python.org/2/howto/logging.html

  • 편집: 쓰기는 마지막에 수행되지 않고 버퍼가 소진될 때 수행됩니다. 고마워요바르마르

관련 정보