首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印:"IOError:[Errno 9]坏文件描述符“

打印:"IOError:[Errno 9]坏文件描述符“
EN

Stack Overflow用户
提问于 2013-09-04 13:25:25
回答 2查看 7K关注 0票数 5

我理解为什么我在没有控制台的情况下从下面的文章中得到“坏文件描述符”错误:why am I getting IOError: (9, 'Bad file descriptor') error while making print statements?

我的问题是,如何检测stdout是否可用?我可以这样做吗?

代码语言:javascript
复制
if os.path.isfile(2):
   print "text"

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-04 13:31:12

os.path.isfile()采用文件路径(字符串),而不是文件描述符(数字),因此您的解决方案不会像您预期的那样工作。

您可以使用os.isatty()代替:

代码语言:javascript
复制
if os.isatty(1):
    print "text"

如果os.isatty()的参数是连接到终端的打开文件描述符,则它将返回True

(顺便指出,stdout是文件描述符1stderr是文件描述符2)。

票数 8
EN

Stack Overflow用户

发布于 2016-03-11 13:36:41

以上的答案对我没有用。但是,这可能是Python2.x中的一个bug:

https://bugs.python.org/issue706263

我正在用2.7。os.isatty(1)总是返回true,但是print在4k字节后仍然引发异常。我正在使用pythonw.exe在后台运行一个脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18615130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档