我注意到,在关闭使用该文件的代码之前,即使在 .close() 之后,也无法删除任何文件。我在堆栈溢出中看到了类似的问题,但我仍然无法理解这个问题。如果你告诉我我的问题,将非常感激。import oswith open ("test.txt", "r") as fl: print(fl.read())if fl.closed: os.remove("test.txt")else: print("It isn't closed")或者import osfname = "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 自行解决了。谢谢,祝你好运
2 回答
jeck猫
TA贡献1909条经验 获得超7个赞
使用with语句,您不需要检查文件是否关闭。即使发生错误,它也会自动关闭文件。
注意:该with语句提供了一种确保始终使用清理的方法。
从你的问题,你可以使用这样的东西
import os
with open ("test.txt", "r") as fl:
print(fl.read())
os.remove("test.txt")
繁花不似锦
TA贡献1851条经验 获得超4个赞
嘿,你可以使用unlink和使用a+
import os
with open ("test.txt", "a+") as fl:
print(fl.read())
if fl.closed:
os.unlink("test.txt")
else:
print("It isn't closed")
添加回答
举报
0/150
提交
取消