에서 간단한 Python 스크립트를 실행할 수 쉘에서,내가 안정적으로 결정 여부를 sys.stdin 리다이렉션되는 실제 파일을 대는 파이프에서 다른 프로세스?
를 변경하고 싶 런타임 행동 여부에 따라 표준입력에서 오는 데이터 파일에 대한 스트리밍에서 다른 프로세스를 통해 파이프입니다.
으로 예상되isatty()
False 를 반환한다. 여기's 빠른isatty()
테스트:
# test.py
import os
import sys
print sys.stdin.isatty()
print os.isatty(sys.stdin.fileno())
테스트:
python test.py < file.txt
생산:
False
False
고:
ls -al | python test.py
생산:
False
False
이 있 pythonic 이 작업을 수행하는 방법은?
Unix/Linux 정은 괜찮지만,그것은 좋은 것을 알고 있으면 그것이's 가능해서 이렇게 하는 방식으로 휴대용.
편집:주에 응하여 의견 제시를 왜 하는가? 만,제 경우에는,내가 원하는 처리 시간으로 기록된 데이터에 제공되는 불규칙한 간격으로 파이프에서 다른 프로세스를 재생할 때 미리 녹음하는 파일에서 데이터,나는'd 같이 간단한 인터페이스를 사용하여 고정 또는 가변 지연이 발생합니다.
동의 it's 아마도를 사용하는 것이 유리 청소기법(고 생각할 수 있는 여러 포함하여,중간 스크립트를 삽입하는 지연에서 재생 stream)그러나 나는'm말기 호기심을.