반응형
sys.stdout이 터미널에 연결되어 있는지 여부를 탐지하려면 어떻게 해야 합니까?
그들이 그들을sys.stdout콘솔 터미널에 연결되어 있습니까?예를 들어, foo.py 이 다음을 통해 실행되는지 여부를 검색할 수 있습니다.
$ python foo.py # user types this on console
OR
$ python foo.py > output.txt # redirection
$ python foo.py | grep .... # pipe
이 질문을 하는 이유는 진행률 표시줄 표시가 전자의 경우(실제 콘솔)에서만 발생하는지 확인하기 위해서입니다.
이 문제는 다음을 사용하여 감지할 수 있습니다.
if sys.stdout.isatty():
# You're running in a real terminal
else:
# You're being piped or redirected
셸에서 이를 시연하는 방법:
python -c "import sys; print(sys.stdout.isatty())"True라고 적어야 합니다.python -c "import sys; print(sys.stdout.isatty())" | catFalse라고 적어야 합니다.
언급URL : https://stackoverflow.com/questions/1077113/how-do-i-detect-whether-sys-stdout-is-attached-to-terminal-or-not
반응형
'source' 카테고리의 다른 글
| 각 그룹 내 행 수 카운트 (0) | 2023.06.06 |
|---|---|
| 이전에 배포한 Firebase 콘솔에서 코드 가져오기 (0) | 2023.06.06 |
| C에 대한 공통 배열 길이 매크로? (0) | 2023.06.06 |
| #만약 스위프트 언어로 대체한다면, (0) | 2023.04.27 |
| 마이크로소프트.사무실. 인터럽트.Excel 참조를 찾을 수 없습니다. (0) | 2023.04.27 |