Fabfiles与命令行参数

Chr*_*ris 9 python fabric

是否有一种干净的方法让您的fabfile接受命令行参数?我正在为一个工具编写一个安装脚本,我希望能够通过命令行指定一个可选的目标目录.

我写了一些代码来测试如果我传入一些命令行参数会发生什么:

# fabfile.py
import sys

def install():
    _get_options()

def _get_options():
    print repr(sys.argv[1:])
Run Code Online (Sandbox Code Playgroud)

几个运行:

$ fab install
['install']

Done.
$ fab install --electric-boogaloo
Usage: fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ...

fab: error: no such option: --electric-boogaloo
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 4

我最终使用了每个任务的参数。这似乎比执行独立的命令行参数更好。