【问题标题】:File is automatically closed文件自动关闭
【发布时间】:2016-05-24 07:04:04
【问题描述】:
f1 = open("D:/Studies/Python/IDEs/PyCharm/Basics/Basics.py", 'r')
print(next(f1))

错误是:

ValueError: 对已关闭文件的 I/O 操作。

我正在尝试从位于另一个路径中的程序访问此文件:-("D:\Studies\Python\IDEs\PyCharm\File IO\File_IO_Basics.py")

这是个问题吗?

如果有其他问题请提出。

【问题讨论】:

  • 您的代码中是否存在循环关闭此文件或检查您的文件是否存在。
  • @ShubhamSharma 不,我没有
  • 能否提供完整的代码,以便我们分析错误。

标签: python python-3.x io


【解决方案1】:

很可能您的文件没有成功打开。尝试在您的打开命令附近包含try ... except,并确保文件已真正打开:

try:
    f1 = open("D:/Studies/Python/IDEs/PyCharm/Basics/Basics.py", 'r')
    print "File has been opened"
    print(next(f1))
except:
    print "File has not been opened"

您还可以使用以下方法检查您的文件是否存在于该路径中:

import os
if os.path.exists("C:\..."):   
    print "File exists"

【讨论】:

  • 当我检查 os.path.exists... 有同样的错误,(ValueError: I/O operation on closed file.)在“打印'文件存在'”行跨度>
  • 这意味着您要查找的路径中没有文件。我建议您开始将文件放入与程序相同的目录并删除路径。一旦这个工作,你开始把它放到一个子目录,修改路径,看看代码是否成功。只有这样才能完成完整路径。很可能我们的路径语法有问题。
猜你喜欢
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
  • 2020-12-28
  • 2023-03-26
相关资源
最近更新 更多