首页 > 解决方案 > 关闭()后无法删除python文件

问题描述

我注意到在关闭使用该文件的代码之前,即使在 .close() 之后也无法删除任何文件。我在堆栈溢出中看到了类似的问题,但我仍然无法理解这个问题。如果你告诉我我的问题,将非常感激。

import os
with open ("test.txt", "r") as fl:
    print(fl.read())
if fl.closed:
    os.remove("test.txt")
else:
    print("It isn't closed")

或者

import os
fname = "test.txt"
fl = open(fname)
print(fl.read())
fl.close()
if fl.closed:
    os.remove("test.txt")
else:
    print("It isn't closed")

相同的错误:“PermissionError:[WinError 32] 该进程无法访问该文件,因为它正在被另一个进程使用”

好的,伙计们,它通过多次重启 Spyder 自行解决了。谢谢,祝你好运

标签: python

解决方案


使用with语句,您不需要检查文件是否关闭。即使发生错误,它也会自动关闭文件。

注意:with语句提供了一种确保始终使用清理的方法。

从你的问题,你可以使用这样的东西

import os
with open ("test.txt", "r") as fl:
    print(fl.read())
os.remove("test.txt")

推荐阅读