2011-07-18 4 views
4

커맨드 라인 인터페이스 (처음으로)를 작성하려고하는데 약 argparse, optparsegetopt을 읽은 후 그물에있는 몇 가지 권장 사항 때문에 여기에서 argparse을 선택했습니다.argparse python modul 동작에 대한 설명 : 자본 자리 표시 자의 출처는 어디입니까?

def main(argv=None): 
    if argv is None: 
     argv = sys.argv 
    desc = u'some description' 
    parser = argparse.ArgumentParser(description=desc) 

    parser.add_argument('-s', '--search', help='Search for someone.') 
    parser.add_argument('-c', '--do_something_else', help='Do something else.') 

    args = parser.parse_args() 
    print args 

if __name__ == '__main__': 
    sys.exit(main()) 

가에 python myscript.py -h 결과를 수행 : :이처럼 내 첫 번째 명령 줄 인터페이스 매여 advice of Mr. van Rossum의 조금 적응

usage: dblp.py [-h] [-s SEARCH] [-c DO_SOMETHING_ELSE] 

some description 

optional arguments: 
    -h, --help   show this help message and exit 
    -s SEARCH, --search SEARCH 
         Search for someone. 
    -c DO_SOMETHING_ELSE, --do_something_else DO_SOMETHING_ELSE 
         Do something else. 

것은 그래서 내 첫 번째 질문은 다음과 같습니다 SEARCHDO_SOMETHING_ELSE로 작성 대문자? 두 번째 질문은 : 어떤 기준을 어기 는가? 파이썬과 함께 깨끗하고 유용한 명령 행 인터페이스를 구축하는 좋은 방법이 있습니까? 그리고 함정 cmd 인터페이스 작성시 피해야 할 사항은 무엇입니까?

답변

2

내가 발굴 몇 가지 기본 argparse 자원 위치 : add_argumentmetavar= PARAM을 통해 다른 자리를 지정할 수 있습니다 예 : http://www.rutherfurd.net/tag/argparse/

다음은 실제 argparse 예제입니다. https://github.com/harijay/xtaltools/blob/e683fcef6a5ad7394b87382e58d4dce32a85585b/maskconvert.py

지금까지 함정을 피하는 등, 여기 당신이 몇 가지 일반적인 쓰임새에 대해 작성해야 상용구 코드를 줄이기 위해 argparse에 대한 좋은 찾고 래퍼 : http://travelingfrontiers.wordpress.com/2010/11/03/simple-python-argparse-wrapper/

관련 문제