2017-03-06 426 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名字。

相关问题