OptionParser
자주 사용하는 듯 해서 대략적인 정리를 해 놓는다. source 는 ref. 1 에서 가져왔다.
알고보니(그러니 문서를 잘 읽어야지 ㅜㅜ) OptionParser 가 deprecated 되고, ArgumentParser 로 넘어갔다.
ArgumentParser 는 아래 post 에 정리했다.
이 글은 아까워서 그냥 둔다.
Simple Code
from optparse import OptionParser ... usage = "usage: %prog [options] arg" parser = OptionParser(usage=usage, version="%prog 1.0") parser.add_option("-f", "--file", dest="filename", type="string", help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=True, help="don't print status messages to stdout") parser.set_defaults(verbose=True) (options, args) = parser.parse_args() if len(args) != 1: parser.error("incorrect number of arguments") if options.verbose: print "reading %s..." % options.filename ...
아래처럼 test 해볼 수 있다.
args = ["-f", "foo.txt"]
(options, args) = parser.parse_args(args)
>>>> print(options.filename)
foo.txt
help
위와 같은 code 는 아래와 같은 help message 를 뿌려준다.Usage: <yourscript> [options] Options: -h, --help show this help message and exit -f FILE, --file=FILE write report to FILE -q, --quiet don't print status messages to stdout
version
OptionParser 에 version parameter 를 사용하면 OptionParser 가 자동으로 --version option 을 추가하게 된다.add_option 의 parameter
- dest : 변수이름, argument 가 저장될 변수이름
- help : option 에 대한 help message
- help message 안에서 사용할 수 있는 변수들, 대체로 %로 시작한다.
- %default
- %prog
- metavar : help message 에서 argument 를 표현할 때 쓰임
- default : dest 에 대한 default 값을 표현한다. 이것보다는 parser.set_defaults(my_dest=True) 를 사용하는 것이 좀 더 명확하다.
- action : store 가 default 이다.
- store : argument 를 저장
- store_true : option 이 설정되면 그것을 true 로 저장
- store_false : option 이 설정되면 그것을 false 로 저장
- store_const : constant value 를 저장
- append : argument 를 list 에 append
- count : counter 를 하나 증가시킴
- callback : 특정 callback function 을 호출
- type
- int
- float
- string
- complex
- choice
References
- 15.5. optparse — Parser for command line options — Python 2.7.13 documentation
- cpython: fb27b7141de0 Lib/optparse.py
댓글 없음:
댓글 쓰기