104
有沒有辦法檢測sys.stdout
是否連接到控制檯終端?舉例來說,我希望能夠檢測是否foo.py通過運行:如何檢測sys.stdout是否連接到終端?
$ python foo.py # user types this on console
OR
$ python foo.py > output.txt # redirection
$ python foo.py | grep .... # pipe
我之所以問這個問題是我想確保我的進度條顯示只發生在前一種情況下(真正的控制檯)。
爲了證明你的shell,比較`蟒蛇-c 「進口SYS;打印(sys.stdout.isatty())」`(應該寫TRUE;)與`蟒蛇-c「進口SYS;打印(sys.stdout.isatty())「| grep。(應該寫'False')。 – 2013-10-28 19:17:52