我正在使用 Fabric 进行项目管理、部署等。我不太了解更方便的运行命令的方式。例如,考虑到我不关心Fabric函数的参数capture
和参数,以下哪些是优缺点?shell
local
os.mkdir(path)
VS
local("mkdir %s" % path)
根据您项目的目标,任何一个都可能更合适。这里有一些优点和缺点。
local
local
更容易在和之间切换run
或sudo
随着项目的变化run
和sudo
我认为local
可以使用标准库函数轻松表示的简单命令应该只使用标准库作为默认选择来编写,因为它的复杂性较低。逐个案例,我会问自己哪个更有可能:fabfile.py
在不同的操作系统上运行这个程序,或者将此命令从本地命令转换为远程命令,然后编码为调用,local
如果后者更有可能。
使用操作系统本机命令意味着您可以将它们作为参数传递给local
和run
。这更加一致和灵活。
已经提到了一些优点,但我认为使用local
(和朋友)的另一个优点是非 Python 人员可以更容易地看到发生了什么。