2011-11-03 4 views
0

내 패브릭 작업에 밑줄 (_) 대신 하이픈 (-)을 사용하고 싶습니다. 예를 들어 database_reset 대신 database-reset을 사용합니다. 그러나 하이픈은 파이썬 함수 이름으로 허용되지 않습니다.패브릭 작업의 이름이 유효한 파이썬 함수 이름이 아닐 수 있습니까?

Fabric에서 이름이 해당 Python 기능과 정확하게 일치하지 않는 작업을 만들 수 있습니까? the documentation에서

답변

6

:

@task(alias = 'database-reset') 
def database_reset(): 
    ... 
3

고양이 플러스 플러스는 당신이 원하는 무엇을 최고의 솔루션을 제공합니다. 그러나 접두어로, globals() 사전에 할당하여 일반적인 규칙을 따르지 않는 파이썬 전역 변수 (함수 이름은 전역 변수)를 가질 수 있습니다.

def foo_bar(): 
    print "foo-bar" 

globals()["foo-bar"] = foo_bar 

globals()["foo-bar"]() # prints "foo-bar" 

구문이 그리 좋지는 않지만 상당히 번거롭습니다.

관련 문제