成功解决BUG:OSError: [Errno 9] Bad file descriptor

文章目录

    • 异常解读
    • 解决思路
    • 错误复现
    • 其他学习资料

异常解读

在 Python 代码编写过程中,会出现如下错误:

OSError: [Errno 9] Bad file descriptor

该错误翻译为中文是:

将一个无效的文件句柄(-1)传递给 os.close() 函数,它试图关闭该文件句柄。
由于该文件句柄无效,会引发TypeError,错误消息将显示为 "Invalid file handle: [WinError 6]"(前提是在Windows操作系统上运行该代码)

实际编码错误如下图所示。

解决思路

解决该BUG很容易,只需要检查一下文件句柄是否是正确的即可了。

复查一下代码,查看文件是否打开。

错误复现

可以在 Python 文件中输入如下代码,即可出现本文标题所示错误:

import osfile_handle = -1# 无效的文件句柄try:os.close(file_handle)# 尝试关闭无效的文件句柄except TypeError as e:print(f"TypeError: Invalid file handle: {e}")

错误信息如下

Traceback (most recent call last):File "E:/pythonProject/QueueDemo.py", line 6, in <module>os.close(file_handle)# 尝试关闭无效的文件句柄OSError: [Errno 9] Bad file descriptor

其他学习资料

  • 《滚雪球学Python》专栏与实体书:https://dream.blog.csdn.net/article/details/131268344
  • 《爬虫100例》:https://blog.csdn.net/hihell/category_9280209.html
  • 《Python爬虫120》:https://blog.csdn.net/hihell/category_11079529.html