关闭()后无法删除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 自行解决了。谢谢,祝你好运


aluckdog
浏览 214回答 2
2回答

jeck猫

使用with语句,您不需要检查文件是否关闭。即使发生错误,它也会自动关闭文件。注意:该with语句提供了一种确保始终使用清理的方法。从你的问题,你可以使用这样的东西import oswith open ("test.txt", "r") as fl:    print(fl.read())os.remove("test.txt")

繁花不似锦

嘿,你可以使用unlink和使用a+import oswith open ("test.txt", "a+") as fl:    print(fl.read())if fl.closed:    os.unlink("test.txt")else:    print("It isn't closed")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python