为了账号安全,请及时绑定邮箱和手机立即绑定

关闭()后无法删除python文件

关闭()后无法删除python文件

aluckdog 2022-10-25 10:36:48
我注意到,在关闭使用该文件的代码之前,即使在 .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")


查看完整回答
反对 回复 2022-10-25
?
繁花不似锦

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")


查看完整回答
反对 回复 2022-10-25
  • 2 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信