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