1
這個問題有點與Fool python's os.isatty from a bash script相反。我需要Python腳本來認爲它的stdin附加到tty。傻瓜python,它被稱爲tty
特別是,我需要使用一些腳本,根據sys.stdin.isatty()更改其行爲。但是,當蟒蛇被稱爲在bash循環,stdin.isatty()返回false
cat 'file.txt' | while read ENTRY
do
python -c "import sys; print sys.stdin.isatty()"
done
那麼,有沒有辦法,也許換行調用,因此Python會認爲這是從tty調用。
只是出於好奇,你爲什麼要這麼做? – tangrs
@tangrs:根據是否從TTY調用某個程序的行爲不同而有用;大多數情況下,輸出的延遲刷新已經深埋在libc中,因此也會影響Python腳本。 – Alfe
就你而言,Python腳本的stdin不是TTY,而是while循環之前的'cat'命令的管道。那個命令不是TTY。 – Alfe