目前,我有一些代碼刪除我的程序創建一些臨時文件:在Mac上是否有與Python的os.remove()相當的功能?
# Delete the generated files
exts = [".lsys", ".py", ".pyc"]
for ext in exts:
os.remove("{0}{1}{2}".format(self.grammarDir, filename, ext))
現在我試圖端口應用到Mac。查看Python 2.7的documentation,它特別說:
刪除(刪除)文件路徑。如果path是一個目錄,則引發OSError爲 ;請參閱下面的rmdir()以刪除目錄。這與下面記錄的unlink()函數 相同。在Windows上,嘗試 刪除正在使用的文件會引發異常;在 Unix上,目錄條目被刪除,但分配給 文件的存儲不可用,直到原始文件不再使用 。
Availability: Unix, Windows.
是否有一個相當於os.remove()
的Mac或我使用這樣的卡?
os.system("rm {0}{1}{2}".format(self.grammarDir, filename, ext))
我需要兼容Mac和保持與Ubuntu的兼容性將是一個巨大的獎金(但不是絕對必要)。
編輯:
好了,現在我覺得愚蠢。原來我在這部分代碼之上有一個破壞的調用,所以沒有達到刪除代碼。誤解我的錯誤在哪裏,認爲它是在默默地失敗。
Mac OS是一個Unix。 os.remove應該工作。 – utdemir
現代(OSX)mac基本上是unix,所以我自然會認爲它也可以在mac下使用。你有沒有嘗試過,它不起作用;或者你的意思是pre-OSX mac? – delnan
你有試過嗎? OS X基於Linux。 – FishBasketGordo