检查进程是否作为管道运行
我有一个小型 Python 实用程序,它只能作为管道运行。我希望它在单独运行时打印出帮助消息。一个进程如何知道它是否被用作管道。比较 sys.stdin 和 sys.__stdin__ 不起作用。
I have a small Python utility which should be run only as a pipe. I want it to print out the help message when it runs stand alone. How can a process know whether it is being used as a pipe. Comparing sys.stdin
and sys.__stdin__
does not work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
isatty
:如果标准输入是 tty,则为
True
,这大致意味着它在管道外部直接使用。You can use
isatty
:It will be
True
if standard input is a tty, which roughly means it's being used directly, outside a pipe.