如果从“外部”(即不是从文件对象的
close()方法)关闭了Python文件,则会收到此错误消息:
>>> f = open(".bashrc")>>> os.close(f.fileno())>>> del fclose failed in file object destructor:IOError: [Errno 9] Bad file descriptor该行
delf删除对文件对象的最后一个引用,从而导致其析构函数
file.__del__被调用。文件对象的内部状态指示该文件由于
f.close()从未被调用而仍处于打开状态,因此析构函数将尝试关闭该文件。操作系统随后由于试图关闭未打开的文件而引发错误。
由于的实现
os.system()不会创建任何Python文件对象,因此
system()调用似乎不太可能是错误的根源。也许您可以显示更多代码?


![在os.system()期间,什么会导致“ IOError:[Errno 9]错误的文件描述符”? 在os.system()期间,什么会导致“ IOError:[Errno 9]错误的文件描述符”?](http://www.mshxw.com/aiimages/31/624492.png)
