在Fabri中运行OS原生命令VS Python

2024-05-16 09:41:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Fabric进行项目管理、部署等。我不太了解运行命令的更方便的方法。例如,考虑到我不关心Fabriclocal函数的captureshell参数,这两个参数是下面的优点/缺点?在

os.mkdir(path)

^{pr2}$

Tags: 方法函数命令参数os部署shell优点
3条回答

一些优点是already mentioned,但我认为使用local(和朋友)的另一个好处是,非Python的人可以更容易地看到发生了什么。在

根据项目的目标,两者都可能稍微更合适。这里有一些利弊。在

  • python标准库函数的优点
    • 跨平台兼容
    • 通常更有效,因为没有创建子进程
    • 总的来说不太复杂,因为涉及的模块、进程、移动部件、shell解析等更少(因此也更容易调试)
  • 面料的优点local
    • 当项目更改时,更容易在localrun或{}之间切换
    • 更符合run和{}

我认为简单的local命令可以很容易地用标准库函数来表示,因为它的复杂性较低,所以应该只使用标准库作为默认选择来编写。根据具体情况,我会问自己哪个更有可能:在不同的操作系统上运行这个fabfile.py程序,或者将这个命令从一个本地命令转换成一个远程命令,然后将其编码为对local的调用(如果后者更有可能)。在

使用OS本机命令意味着您可以将它们作为参数传递给local和{}。这既更加一致,也更加灵活。在

相关问题 更多 >