我希望我的Fabric任务有连字符( - )而不是下划线(_)。例如,database-reset而不是database_reset。但是,不允许使用连字符作为Python函数名称。
Fabric中是否可以创建名称与相应Python函数不完全匹配的任务?
答案 0 :(得分:6)
@task(alias = 'database-reset')
def database_reset():
...
答案 1 :(得分:3)
Cat Plus Plus拥有您想要做的最佳解决方案。但是,从技术上讲,技术上可以通过分配globals()
字典来使Python全局变量(函数名称只是一个全局变量)不符合通常的规则。
def foo_bar():
print "foo-bar"
globals()["foo-bar"] = foo_bar
globals()["foo-bar"]() # prints "foo-bar"
虽然语法不是很好,但却非常麻烦。