gpt4 book ai didi

python - 解释(并使用)Fabric 本地命令的输出

转载 作者:太空狗 更新时间:2023-10-29 22:19:47 25 4
gpt4 key购买 nike

我想使用 Fabric 命令来设置本地开发环境,作为其中的一部分,我希望能够设置一个 git 远程。这很好用:

from fabric.api import local

def set_remote():
""" Set up git remote for pushing to dev."""
local('git remote add myremote git@myremote.com:myrepo.git')

第二次运行时会出现问题 - 当本地命令因为远程已经存在而崩溃时。我想通过首先检查 Remote 是否存在来防止这种情况发生:

在伪代码中,我想执行以下操作:

if 'myremote' in local('git remote'):
print 'Remote \'myremote\' already exists.'
else:
local('git remote add myremote git@myremote.com:myrepo.git')

我该怎么做?

最佳答案

您可以使用 settings warn_only 的上下文管理器:

from fabric.context_managers import settings

with settings(warn_only=True):
# some command we are all right with having fail

或者,您可以在 local 上设置 capture 关键字参数命令为 True:

if 'myremote' in local('git remote', capture=True):
print 'Remote \'myremote\' already exists.'
else:
local('git remote add myremote git@myremote.com:myrepo.git')

关于python - 解释(并使用)Fabric 本地命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13713085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com