【发布时间】:2012-02-17 21:49:42
【问题描述】:
有时在使用 ipython 时,您可能会在以写入模式打开文件的函数中遇到异常。这意味着下次运行该函数时会出现值错误,
ValueError:文件“文件名”已打开。请先关闭它,然后再以写入模式重新打开。
但是,由于函数出错,文件句柄(在函数内部创建)丢失了,因此无法关闭。唯一的办法似乎是关闭 ipython 会话,此时您会收到消息:
关闭剩余打开的文件:文件名...完成
有没有办法指示 ipython 在不退出会话的情况下关闭文件?
【问题讨论】:
-
在处理文件时,您应该尝试始终使用
with语句,例如,使用with open("x.txt") as fh: <do something with data>。这样可以确保如果出现问题,文件一定会被关闭。 -
@Chris 您应该将其发布为答案,因为这是唯一有效且简单的解决方案
-
@JBernardo 感谢您的建议 - 完成。
标签: python ipython filehandle