当前位置: 首页 > 面试题库 >

如何检测sys.stdout是否已连接到终端?

柴深
2023-03-14
问题内容

有没有办法检测是否sys.stdout已连接到控制台终端?例如,我希望能够检测foo.py是否通过以下方式运行:

$ python foo.py  # user types this on console

要么

$ python foo.py > output.txt # redirection
$ python foo.py | grep ....  # pipe

我问这个问题的原因是,我想确保进度条显示仅在前一种情况下发生(真实控制台)。


问题答案:

if sys.stdout.isatty():
# You’re running in a real terminal
else:
# You’re being piped or redirected




 类似资料:
  • 问题内容: 我希望Java程序具有不同的默认设置(详细程度,可能在支持时显示彩色输出),具体取决于其用途。在C语言中,有一个isatty()函数,如果将文件描述符连接到终端,该函数将返回1,否则返回0。在Java中有与此等效的功能吗?我在JavaDoc中没有看到InputStream或PrintStream的任何内容。 问题答案: 如果已连接,System.console()将返回您的应用程序所连

  • 我最近试图让WatchKit应用程序播放苹果手表扬声器的背景声音效果。据我所知(如果我错了,请纠正我!)这是不可能的,因为我需要连接蓝牙耳机才能使用WKAudioFilePlayer,或者使用额外的界面元素来播放声音(WKInterfaceMovie或PresMediaPlayerControlllerWithURL:选项:完成)。 现在,相反,我想使用WKAudioFilePlayer仅在连接蓝

  • 问题内容: 我正在尝试检查用户单击按钮后是否已加载iframe。 我有 的HTML 有什么建议么? 顺便说一下,我的iframe是动态创建的。它不会随初始页面加载一起加载。 问题答案: 您可以尝试使用() 更新: 使用普通格式 更新: 您也可以尝试一下(动态iframe)

  • 问题内容: 我试图检测我的sprite节点是否已被触摸并且我不知道从哪里开始。 问题答案: 首先将的属性设置为字符串。 然后在功能上 这是一种方法。 您也可以继承并覆盖其中的内部。 然后做

  • 嗨,伙计们,我正在为我的覆盆子Pi家庭服务器写一个智能家庭扩展。为此,我想通过检查智能手机是否连接到本地网络来了解何时有人在家。 不幸的是,到目前为止,ping Android设备在最好的情况下是不可靠的。这取决于睡眠状态,Nexus5x根本不响应ping。我也不去摆弄睡眠设置,因为那会减少电池寿命。 我的路由器说设备已经连接,但我不知道如何中继这个信息。我有什么办法可以确定任何智能手机都是用Py

  • 我正在尝试检测已经连接到android的usb设备。我知道有动作可以检测USB何时连接或断开。但是我真的不知道如何在将usb设备连接到android后检查设备。另外,我发现每个USB设备都有它的设备类别代码,但是我怎么知道连接的是哪种设备呢?例如,我需要检测usb鼠标和键盘;我如何区分它们?