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