2013-10-23 4 views
1

나는 로 시작해야합니다 - 비 대시 다음

parser = OptionParser() 
parser.add_option("-submitted.cl", "--change_list", dest="change_list",help="Submitted Change list") 
parser.add_option("-submitted.cr", "--crlist", dest="cr_list",help="Submitted CR list") 
parser.add_option("-build.location", "--sbl", dest="sbl",help="Source build location") 
parser.add_option("-filer.location", "--dbl", dest="dbl",help="Filer location") 
parser.add_option("-users", "--users",dest="users",help="Users") 
(options, args) = parser.parse_args() 

내가 OptionParser

를 사용하여 다음과 같은 옵션이 있습니다 다음 옵션을 사용하여 스크립트를 실행하고 다음 오류로 실행됩니다. 수정 방법에 대한 정보를 입력하십시오.

python save_build_artifacts.py 12345 02384 \\ben\cnss_dev_integration\nfc_builds\LA_host_builds\8084\Build2 \\ben\cnss_dev_integration\temp gnakkala 

ERROR -

Traceback (most recent call last): 
    File "save_build_artifacts.py", line 75, in <module> 
    main() 
    File "save_build_artifacts.py", line 43, in main 
    parser.add_option("-submitted.cl", "--change_list", dest="change_list",help="Submitted Change list") 
    File "C:\Python27\lib\optparse.py", line 1012, in add_option 
    option = self.option_class(*args, **kwargs) 
    File "C:\Python27\lib\optparse.py", line 566, in __init__ 
    self._set_opt_strings(opts) 
    File "C:\Python27\lib\optparse.py", line 606, in _set_opt_strings 
    self) 
optparse.OptionError: invalid long option string '-submitted.cl': must start with --, followed by non-dash 
+0

이 당신의 파이썬 버전이 무엇인지, optparse의이 파이썬 2.7에서 사용되지 않습니다. argparse를 사용해보십시오. http://docs.python.org/2/library/argparse.html#module-argparse – Vivek

답변

5

parser.add_option 첫 번째 파라미터가 짧은 매개 변수이다. -submitted.cl은 너무 짧습니다. 짧은 매개 변수는 1 자 길이이므로. 그래서 당신은

python save_build_artifacts.py 23 43 -c file.xy이 예제 this doc에서보세요처럼 사용하는 당신은 매개 변수의 이름을 지정해야 귀하의 호출에 또한

from optparse import OptionParser 

parser = OptionParser() 
parser.add_option("-c", "--change_list", dest="change_list",help="Submitted Change list") 
parser.add_option("-r", "--crlist", dest="cr_list",help="Submitted CR list") 
parser.add_option("-b", "--sbl", dest="sbl",help="Source build location") 
parser.add_option("-f", "--dbl", dest="dbl",help="Filer location") 
parser.add_option("-u", "--users",dest="users",help="Users") 
(options, args) = parser.parse_args() 

같은 것을보십시오.

은 (대신 argparse 사용하는 것이 좋습니다. optparse의는 지원되지 않습니다)

관련 문제