检查进程是否以管道方式运行

10 投票
1 回答
2163 浏览
提问于 2025-04-16 07:32

我有一个小工具,用Python写的,它只应该作为管道来运行。也就是说,我希望它在单独运行时能打印出帮助信息。那怎么才能知道这个程序是不是作为管道在运行呢?比较 sys.stdinsys.__stdin__ 似乎不管用。

1 个回答

16

你可以使用 isatty

if sys.stdin.isatty():

如果标准输入是一个 tty(终端设备),那么它会返回 True。简单来说,这意味着你是在直接使用它,而不是通过管道传输数据。

撰写回答