Python值错误:对关闭的文件执行I/O操作。示例教程不起作用

2024-05-15 17:08:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在按照一个教程学习读写文件。 我得到以下错误。我不明白为什么。

C:\Python27\python.exe "C:/Automation/Python/Write to files/test3.py"
Traceback (most recent call last):
  File "C:/Automation/Python/Write to files/test3.py", line 8, in <module>
    f.read('newfile.txt', 'r')
ValueError: I/O operation on closed file

我的代码是

f = open("newfile.txt", "w")
f.write("hello world\n")
f.write("Another line\n")
f.close()

f.read('newfile.txt', 'r')
print f.read()

我试图将f.close放在代码的底部,但仍然得到相同的错误。

如果我注释掉f.read,write部分就会工作。它在f.read部分失败。


Tags: to代码pytxtcloseread错误line
3条回答

关闭文件对象后,无法对其执行I/O操作,即

file_obj.close()

因此,如果要打开相同的文件,请执行以下操作:

if(file_obj.closed):
   file_obj = open(file_obj.name, file_obj.mode)

print (file.obj.read())
file_obj.close() 

如上图所示,当你关闭文件时,你需要打开你的文件以便你可以读取它

f = open('newfile.txt', 'r')
print f.read()
f.close()

f.close()之后的f.read('newfile.txt', 'r')行应该是f = open('newfile.txt', 'r')

那就是

f = open('newfile.txt', 'r')
print f.read()
f.close()

之后需要再次添加f.close()

小音符

在Python中,open的第二个参数的默认值是r,您可以简单地执行open('newfile.txt')

相关问题 更多 >