Python错误集锦:with方法打开文件提示:ValueError: I/O operation on closed file.

原文链接: http://www.juzicode.com/python-error-with-valueerror-io-operation-on-closed-file/

错误提示:

使用with方法打开文件后,再次read()文件时提示:ValueError: I/O operation on closed file.

#juzicode.com/vx:桔子code
with open('example-r.txt','r') as fileobj:
    cont = fileobj.read()
    print(cont)
fileobj.read()
juzicode.com
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-36-9c9a170219a2> in <module>
      3     cont = fileobj.read()
      4     print(cont)
----> 5 fileobj.read()

ValueError: I/O operation on closed file.

错误原因:

1、使用with方法打开了文件,生成的文件操作实例在with语句之外是无效的,因为with语句之外文件已经关闭了。

解决方法:

1、第2个read()方法必须包含在with语句内部:

#juzicode.com/vx:桔子code
with open('example-r.txt','r') as fileobj:
    cont = fileobj.read()
    print(cont)
    fileobj.read()

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注