哪个更好?使用内置的python函数或os.system命令?

时间:2010-12-17 12:08:25

标签: python

最好在python自动化脚本中使用以执行以下简单操作 创建zip文件并将其复制或重命名为新位置。 通过os.system模块使用python内置函数或终端命令更好吗?

5 个答案:

答案 0 :(得分:11)

内置的Python模块/ stdlib,无论你在哪里,subprocess(os.system)你必须在哪里。

理由:可移植性,维护,代码可读性仅举几例。

答案 1 :(得分:4)

如果可能,我会使用Python库。在我看来,内置函数的最大缺点是它们通常不支持底层操作系统的所有功能,例如移动操作中的Alternate Data Streams or Access Control Lists etc. under NTFS may get lost

答案 2 :(得分:2)

我会说python,因为它会使脚本可移植。但有时,性能和可用性是令人担忧的。

答案 3 :(得分:2)

一般来说,我会说尽可能使用python库 - 这样它会更便携,例如您不需要担心各种系统上的不同命令或命令选项,如果您需要更改任何内容,只需更新python代码即可。

答案 4 :(得分:0)

使用python internals命令很不错,特别是在可移植性方面。

但是在某些时候,你可能会因为早于2.7(Windows)的Python缺乏“os.kill”而感到困惑,你可能会对os.Popen的工作方式感到惊讶,比你会发现win32pipe等等。

我个人建议总是进行一项小型研究(你是否需要守护进程等)然后决定。如果您不需要Windows平台 - 使用python的内部可能更有效。