python - 确定 Python 进程的标准输出是否被重定向

标签 python

我注意到 curl 可以判断我是否正在重定向它的输出(在这种情况下它会显示一个进度条)。

在 Python 脚本中是否有合理的方法来执行此操作?所以:

$ python my_script.py
未重定向

$ python my_script.py > output.txt
已重定向!

最佳答案

import sys

if sys.stdout.isatty():
    print "Not redirected"
else:
    sys.stderr.write("Redirected!\n")

关于python - 确定 Python 进程的标准输出是否被重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1512457/

相关文章:

python - 在 Python 中使用字符串格式化和随机字符串

python - 尝试查找包含特定子序列的不重叠子字符串

python - Pandas 中带有运行编号的新列,有条件地递增

django - 为多个属性重复某些操作的更 Pythonic 方式

python - 对于 x in y,在 python 中键入迭代。我可以找出我目前正在进行的迭代吗?

python - 将自定义值传递给记录器而不是每条消息

python - 如何更改 matplotlib 图例框中的名称?

python - 删除最后一行为 nan 的整个 df

python - AUTH_LDAP_REQUIRE_GROUP 在 django 中如何工作?

python - Pandas 和日期时间类型错误 : cannot compare a TimedeltaIndex with type float