2015-08-27 20 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()

相关问题