许多文章都指出python使用open函数读写文件时必须要调用close函数,那么为什么要调用,不调用的后果是什么?本文将详细探讨这个问题。
先来看如果我们仅仅使用python的open函数但是不使用close关闭文件句柄会怎样
首先上代码:
如图:
然后我们打开“将进酒.txt”文本所在的文件夹
然后随便输入一些东西,文件保存
这样操作是没有问题的,此时我们仍然可以读写,但是由于文件的句柄被占用
我们无法对他进行移动,删除等操作。
来看一下
文件正在使用,被那个程序使用?
我们打开任务管理器
切换到性能选项卡,点资源管理器
切换到cpu选项卡,在关联的句柄这个table列表中,搜索将进酒三个字,你就知道不使用close的后果是什么了。
当前这个文件仍然被python.exe解释器所占用。
我们可以在这个条目上点击右键
结束进程,就可以删除或者移动了。
当然也可以回到pycharm点击那个stop‘main’按钮,来解除文件占用
或者,自行等程序运行结束,它也会自动解除文件占用的。
还有一种办法,就是使用with关键字
就是这样
在这种情况下,即使我们没有调用close函数,
它也会自动关闭文件句柄
我们再去资源管理器中关联的句柄中搜索将进酒,
也搜索不到它的任何结果,是不影响我们对于文件的其他操作的。
本文编辑时间:年10月14日
使用IDE:PyCharm.2
系统:win位
python版本:3.8.10
以上代码均经过测试,有问题或者需要反馈的,可以在评论区留言!