检查进程是否以管道方式运行
我有一个小工具,用Python写的,它只应该作为管道来运行。也就是说,我希望它在单独运行时能打印出帮助信息。那怎么才能知道这个程序是不是作为管道在运行呢?比较 sys.stdin
和 sys.__stdin__
似乎不管用。
1 个回答
16
你可以使用 isatty
:
if sys.stdin.isatty():
如果标准输入是一个 tty(终端设备),那么它会返回 True
。简单来说,这意味着你是在直接使用它,而不是通过管道传输数据。