如果某些程序在命令行上由它们自己执行,那么它们应该从标准输入接收输入(即sed "s/test/text/g"
)。 Python脚本如何确定它是否从标准输入传递数据,以便可以引发适当的错误以避免挂起此类输入?
答案 0 :(得分: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