如果从“外部”(即不是从文件对象的
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()调用似乎不太可能是错误的根源。也许您可以显示更多代码?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)