如何使用特殊关键字作为我的结构功能名称?

时间:2015-10-15 20:40:22

标签: python fabric

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

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

这会引发“无效语法”错误。有没有办法覆盖特殊关键字并将其用作经典方法中的函数名? 我可以使用@task alias执行此操作,但所有其他函数都遵循经典方法。 http://docs.fabfile.org/en/1.10/usage/tasks.html#task-decorator

1 个答案:

答案 0 :(得分:0)

这对我来说很好看:

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.

另外。下次将python添加到标签中,这几乎不可能“发现” - 哈哈。