2015-08-27 22 views
0

某些程序在命令行上自行執行時會掛起,以致它們應該從標準輸入接收輸入(即sed "s/test/text/g")。 Python腳本如何確定它是否從標準輸入傳遞數據,因此可以引發適當的錯誤以避免掛起此類輸入?如何確定是否將標準輸入傳遞給Python腳本?

回答

1

如何:

import sys 
if sys.__stdin__.isatty(): 
    print('Interactive') 
else 
    print('Non-Interactive') 

將會產生以下的輸出:

C:\>python bobo.py 
Interactive 

C:\>echo "test" | python bobo.py 
Non-Interactive 

也見os.isatty()

相關問題