我正在使用一个科学软件,包括一个正在调用的Python脚本os.system()
它用于运行另一个科学程序。当子进程运行时,Python 在某个时刻会打印以下内容:
close failed in file object destructor:
IOError: [Errno 9] Bad file descriptor
我相信这条消息是与os.system()
返回。
我现在的问题是:
哪些情况会导致此类 IOError?它究竟意味着什么?对于已调用的子流程意味着什么os.system()
?
如果 Python 文件从“外部”关闭,即不是从文件对象的关闭,您会收到此错误消息close()
method:
>>> f = open(".bashrc")
>>> os.close(f.fileno())
>>> del f
close failed in file object destructor:
IOError: [Errno 9] Bad file descriptor
线路del f
删除对文件对象的最后一个引用,导致其析构函数file.__del__
被称为。文件对象的内部状态表明文件仍然处于打开状态f.close()
从未被调用,因此析构函数尝试关闭该文件。由于尝试关闭未打开的文件,操作系统随后会引发错误。
自实施以来os.system()
没有创建任何Python文件对象,看起来不太可能system()
call 是错误的根源。也许您可以展示更多代码?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)