728x90
반응형
우분투에서 XTerm을 사용해서 다음과 같은 커멘드를 통해 파이썬 프로그램을 실행시킨 뒤 그 출력을 파일에 쓰면서 동시에 화면에 출력값을 보여주고자 하는 경우가 있을 것이다.
xterm -e "cd~; python3 test.py 2>&1 | tee ~/test.txt"
(test.py가 실행시키려는 파이썬 파일이고, test.txt는 결과를 저장하려는 텍스트 파일이다)
위의 커멘드를 실행시키면 xterm 상에는 아무 결과값도 안 뜨게 된다.
그 이유는 파이썬에서 stdout 버퍼에 의해서 버퍼링이 되고 있어서 결과값을 출력하지 않고 그저 버퍼링만 하고 있는 것이다.
이 문제를 해결하기 위해서는 파이썬 실행 시에 "-u" 옵션을 추가하면 된다.
xterm -e "cd~; python3 -u test.py 2>&1 | tee ~/test.txt"
https://stackoverflow.com/a/21663010/9012940
반응형
'Linux' 카테고리의 다른 글
ls 커멘드 시 파일마다 색이 다른 이유 (0) | 2022.03.29 |
---|---|
tar 명령어 사용시 특정 파일을 제외하고자 할 때 (0) | 2022.03.29 |
리눅스에서 tar 명령어 사용 방법 (0) | 2022.03.29 |