저는 방금 파이썬을 배우기 시작했고 필자가 작성한 프로그램은 특정 작업을 실행하기위한 매개 변수가 필요합니다. 예 : (프로그램 이름은 Samtho 임)파이썬에서 프로그램 시작 매개 변수를 만드는 법
samtho -i Mozilla_Firefox
어떻게하면됩니까?
저는 방금 파이썬을 배우기 시작했고 필자가 작성한 프로그램은 특정 작업을 실행하기위한 매개 변수가 필요합니다. 예 : (프로그램 이름은 Samtho 임)파이썬에서 프로그램 시작 매개 변수를 만드는 법
samtho -i Mozilla_Firefox
어떻게하면됩니까?
optparse에 대한 설명서를 읽으십시오. 이것은 매우 강력하며 많은 매개 변수를 제공하고 도움말 텍스트를 작성합니다.
optparse
및 getopt
모듈을 표준 라이브러리에서 사용할 수 있습니다. 전자는보다 유연하고 권장됩니다.
자신 만의 파서를 작성하려면 sys.argv
의 내용을 검사해야합니다. sys.argv[0]
에는 실행중인 프로그램의 이름이 들어 있습니다. sys.argv[1:]
은 프로그램에 전달 된 모든 인수를 포함하는 목록입니다.
이 optparse
를 사용하여 최소한의 예는은 (I 수동 sys.argv
을 설정하여 프로그램 실행을 모방)
>>> import sys
>>> sys.argv = 'samtho -i Mozilla_Firefox'.split()
>>>
>>> from optparse import OptionParser
>>> parser = OptionParser()
>>> parser.add_option("-i")
<Option at 0xb7881b4c: -i>
>>> options, args = parser.parse_args()
>>> options
<Values at 0xb788958c: {'i': 'Mozilla_Firefox'}>
>>> options.i
'Mozilla_Firefox'
사용 sys.argv
직접 (import sys
제) 입력 인수 잡아. 인수를 분석하는 데 도움이되는 여러 라이브러리 (optparse
및 getopt
내장 모듈이 많이 사용됨)가 있지만 복잡도에 따라 기본 일치를 쉽게 수행 할 수 있습니다.
표준 라이브러리에서 벗어나지 않으려면 일반적으로 argparse이 매개 변수 구문 분석에 가장 적합하다고 간주됩니다.
가장 편리한 라이브러리 인 optfunc이 있습니다.
import optfunc, sys
def samtho(i=''):
"Usage: %prog -i <option>"
print i
if __name__ == '__main__':
optfunc.run(samtho)