我注意到,在關閉使用該文件的代碼之前,即使在 .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
提交
取消