2014-03-05 32 views
0

我想從我的配置文件config.PATH添加變量到該織物運行命令:Python的織物插入一個變量來運行命令

run('cd $(config.PATH); mkdir releases; mkdir shared; mkdir packages;', fail='ignore') 

但我得到的錯誤:

類型錯誤:運行()得到了一個意想不到的關鍵字參數'失敗'

我該如何實現我想要做的?或者,還有更好的方法?

回答

2

錯誤告訴你的是run不接受名爲fail的參數,事實上,如果你看fabric docs for the run() function,你會發現沒有提到這樣的參數。

這與試圖在您的命令中插入變量無關。

如果您的目的是忽略錯誤,則應使用warn_onlyquiet。從文檔:

To ignore non-zero return codes, specify warn_only=True . To both ignore non-zero return codes and force a command to run silently, specify quiet=True .

至於注入的配置變量,我不相信它會工作。在一般情況下,你可以使用Python的字符串格式化的設施,但是對於你的使用情況你最好使用布的cd context manager

with cd(config.PATH): 
    run('YOUR COMMAND HERE') 

這將改變遠程工作目錄命令的持續時間(或命令)在塊中。

+1

你是對的謝謝。 config.PATH變量實際上會工作嗎? – Prometheus

+1

@Spike我不這麼認爲。我已更新我的回覆。 – tawmas

+0

謝謝,你已經得到了巨大的幫助:) – Prometheus