如何使用特殊关键字作为结构函数名称?
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" -- 哈哈。
如何使用这样的保留关键字制作结构函数?
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" -- 哈哈。