标签: python process pipe stdio
我有一个小的Python实用程序,应该只作为管道运行。我希望它在单独运行时打印出帮助消息。一个过程如何知道它是否被用作管道。比较sys.stdin和sys.__stdin__不起作用。
sys.stdin
sys.__stdin__
答案 0 :(得分:13)
您可以使用isatty:
isatty
if sys.stdin.isatty():
如果标准输入是tty,它将是True,这大致意味着它在管道外直接使用。
True