Mac上是否有Python的os.remove()?

时间:2011-07-28 18:48:29

标签: python macos

目前我有一些代码删除了我的程序创建的一些临时文件:

# 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.

是否有相当于Mac的os.remove()或者我是否坚持使用此类内容?

os.system("rm {0}{1}{2}".format(self.grammarDir, filename, ext))

我需要与Mac兼容,并且保持与Ubuntu的兼容性将是一个巨大的好处(但并非绝对必要)。

修改

嗯,现在我感到愚蠢。事实证明我在这段代码之上有一个破碎的调用,因此没有达到删除代码。错误地误解了我的错误,认为它是默默地失败。

3 个答案:

答案 0 :(得分:6)

Mac OS X也是Unix。从链接documentation的顶部开始:

  

如果没有另行说明,所有声称“可用性:Unix”的功能   在Mac OS X上受支持,它建立在Unix核心之上。

答案 1 :(得分:4)

此上下文中的Unix也意味着Mac和Linux。可以说是所有可以构建Python的Unix-like / POSIX兼容系统。

答案 2 :(得分:3)

os.remove可在Windows和Unix上使用。 Max OSX计为Unix,因此您可以在Mac OSX上使用os.remove

来自您关联的documentation

  

如果没有另行说明,Mac OS X支持声称“可用性:Unix”的所有功能,它们构建在Unix核心上。