2011-09-20 2 views
0

Solaris 서버에 python2.7을 설치했으며 argparse을 사용하여 Python 스크립트를 작성하여 명령 행 옵션을 검색했습니다.Python 2.7 : Solaris에서 argparse와 함께 서브 파서를 사용할 수 없습니다.

서브 파서를 사용하기 전까지는 모든 것이 잘 작동했습니다. 왜

def main(): 
    parser = argparse.ArgumentParser(prog="myProg") 
    subparsers = parser.add_subpasers (title="actions", description="list of available actions", help="additional help") 


    parser.add_argument("-v", "--verbose",    \ 
         action="store_const",   \ 
         dest="VERBOSE",     \ 
         default=False,     \ 
         const=True,      \ 
         help="runs in verbose mode") 

    parser.add_argument("-V", "--version",      \ 
         action="version",      \ 
         version="myProg 0.1",     \ 
         help="prints the version number") 

    parser.add_argument("-z",            \ 
         type = file,          \ 
         required = True,         \ 
         dest = "CONF_FILE",         \ 
         help = "defines the configuration file") 


    parser.add_argument("-f",            \ 
         type = file,          \ 
         required = True,         \ 
         dest = "ENV_FILE",         \ 
         help = "defines the env definition file") 

    parser.add_argument("-e",              \ 
         dest = "target_env",          \ 
         default = None,            \ 
         help = "limits actions to a specific service. (Optional)") 



    parser_launch = subparsers.add_parser ("launch", help = "launches the environment") 
    parser_create = subparsers.add_parser ("create", help = "creates the environment") 
    parser_create.add_argument ("-p", type = int, help = "passes the necessary parameters for creation") 

    pymss_namespace = parser.parse_args() 

어떤 생각 :

AttributeError: 'ArgumentParser' object has no attribute 'add_subpasers'

여기에 스크립트의 짧은 사본입니다 : 스크립트는이 오류를주고 실패? 고맙습니다.

+0

parser.add_subpasers 대신 parser.add_subparsers을 ... 썼다. –

+0

괄호 (또는 괄호 또는 중괄호) 안에 있기 때문에 불필요합니다. – agf

답변

2

라인 2 : - 그들은 unneded 당신은 당신은 행 계속을 위해 백 슬래시를 제거 할 수 있습니다

+0

사실, 고마워! ^^ – rahmu

1

예, 입력란이 add_subparsers이 아닌 add_subpasers이 스크립트의 3 번째 줄에 있습니다.