나는이 파이썬 코드에 펄 상당을 찾고 있어요 :stdout이 Perl의 tty에 연결되어 있는지 어떻게 알 수 있습니까?
from sys import stdout
if stdout.isatty():
print "yes"
else:
print "no"
나는이 파이썬 코드에 펄 상당을 찾고 있어요 :stdout이 Perl의 tty에 연결되어 있는지 어떻게 알 수 있습니까?
from sys import stdout
if stdout.isatty():
print "yes"
else:
print "no"
가 -t filetest operator를 사용합니다. 펄, STDOUT가 연결될 수있다 (본질적 overcomplicated 과부하 목적) 그래서 STDOUT 출력은 여전히 직접 하나에 연결되어 있지 않더라도 TTY 도달 할 수 있음은
print -t STDOUT ? "Yes\n" : "No\n"
참고.
STDOUT이 실제로 터미널에 연결되어 있고 /dev/null/
또는 기타로 리디렉션되는 것이 아니라면 IO::interactive을 사용하십시오.
IO :: Interactive는 고려해야 할 특별한 경우를 보여줍니다. –
어스 온 어스는이 답변의 점수가 +5이고 또 다른 (이전의!) 게시물은 * 똑같은 * 같은 답변의 점수가 -1입니다. – EMP
@Evgeny 그 대답은 원래'print -t 1? "예 \ n": "아니오 \ n"'. fileno의 불필요한 사용은 downvotes 그것을 샀다. – Schwern