如何使用特殊关键字作为结构函数名称?

how can I use a special keyword as my fabric function name?

如何使用这样的保留关键字制作结构函数?

def not(*args):
    ......

这会引发 "invalid syntax" 错误。有什么方法可以覆盖 special 关键字并将其用作经典方法中的函数名? 我可以使用 @task alias 来做到这一点,但我的所有其他功能都遵循经典方法。 http://docs.fabfile.org/en/1.10/usage/tasks.html#task-decorator

这对我来说很好:

fabfile.py

from fabric.api import task

@task(alias='not')
def _not():
    print 'not called'

@task(alias='in')
def _in():
    print 'in called'

@task(alias='while')
def _while():
    print 'while called'

旧样式:

from fabric import state

def _not():
    print 'not called'

def _in():
    print 'in called'

def _while():
    print 'while called'

state.commands['not'] = _not
state.commands['in'] = _in
state.commands['while'] = _while

然后运行它。

$ fab not while in
not called
while called
in called

Done.

还有。下次在tags里加上python,这几乎不可能得到"finded" -- 哈哈。