![장기 실행 프로그램이 파일 출력을 리디렉션합니다.](https://linux55.com/image/165080/%EC%9E%A5%EA%B8%B0%20%EC%8B%A4%ED%96%89%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%B4%20%ED%8C%8C%EC%9D%BC%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98%ED%95%A9%EB%8B%88%EB%8B%A4..png)
수학 연구를 돕기 위해 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
- 편집: 쓰기는 마지막에 수행되지 않고 버퍼가 소진될 때 수행됩니다. 고마워요바르마르