2017-03-06 379 views
6

我有一個文件夾中的文件數量。一旦處理完文件,我想刪除一個文件。這兩種方法有什麼區別?哪種方法適合我的場景?謝謝!Python:os.remove()和os.unlink()之間的區別以及使用哪一個?

+2

@ TadhgMcDonald-Jensen在這個網站上有很多答案很容易在文檔中找到,它並不會使它們變得非法。我自己很好奇爲什麼有兩個不同的函數是相同的,通常Python比這個更乾淨。這當然是意外的。 –

+0

@MarkRansom我同意,*爲什麼*實際上是一個有趣的問題。也許有一些遺留原因。這使得更混亂,因爲unix的'rm'和'unlink'是不同的http://serverfault.com/questions/38816/what-is-the-difference-between-unlink-and-rm –

+1

@MarkRansom從來沒有暗示這個問題是非法的,只是通過使用文檔可以很容易地回答這種問題,在Python中也不是沒有聽說過冗餘性,只要看看''exit'和'quit'](https://github.com /python/cpython/blob/master/Lib/site.py#L332)。 –

回答

9

它們與official Python 2.7.13 documentation中描述的相同。

os.remove(path):

刪除(刪除)的文件路徑。如果路徑是目錄,則引發 OSError;請參見下面的rmdir()以刪除目錄。 這是 與下面記錄的unlink()函數相同。在Windows上,嘗試刪除正在使用的文件的 會導致引發異常爲 ;在Unix上,目錄條目被刪除,但分配給文件的存儲 不可用,直到原始文件 不再使用。

os.unlink(path):

刪除(刪除)的文件路徑。 這與remove()的功能相同; unlink()這個名字是它的傳統Unix名字。

相關問題