파이썬 명령 줄 인수
파이썬 명령 줄 인수
파이썬은 명령 행 인수를 얻을 수getopt는 모듈을 제공합니다.
$ python test.py arg1 arg2 arg3
파이썬은 명령 줄 인수를얻기 위해 SYS의sys.argv에 사용할 수 있습니다 :
sys.argv에 명령 줄 매개 변수의 목록입니다.
LEN (sys.argv에)는 명령 줄 인수의 수입니다.
참고 : sys.argv에 [0] 스크립트의 이름을 나타냅니다.
예
다음과 같이 test.py 파일의 코드는 다음과 같습니다
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys print '参数个数为:', len(sys.argv), '个参数。' print '参数列表:', str(sys.argv)
위의 코드의 구현, 출력은 :
$ python test.py arg1 arg2 arg3 参数个数为: 4 个参数。 参数列表: ['test.py', 'arg1', 'arg2', 'arg3']
getopt는 모듈
getopt는 모듈은 명령 줄 옵션 및 매개 변수를 얻기 위해 사용 전용 처리 모듈 명령 줄 매개 변수입니다 sys.argv에 있습니다. 명령 줄 옵션은 프로그램보다 유연한 매개 변수가 있습니다. (-) 짧은 옵션 모드 지원 및 긴 옵션 모드를 (-).
이 모듈은 두 가지 방법을 제공하고, 예외 핸들러는 명령 줄 인수를 구문 분석 할 수 있습니다.
getopt.getopt 방법
다음과 같이 명령 줄 매개 변수 목록 구문을 구문 분석 getopt.getopt 방법은 다음과 같습니다
getopt.getopt(args, options[, long_options])
메소드 파라미터 :
인수 : 명령 행 인수 목록을 구문 분석합니다.
옵션 : 형식 문자열을 정의하는, 후 대장 옵션(:) 콜론이 옵션을 추가 매개 변수가 없음을 나타냅니다없이이 옵션이 추가 매개 변수가 있어야 함을 나타냅니다.
long_options : 목록의형식을정의하고,등호 (=) 후 long_options는이 옵션이 설정되어있는 경우, 추가 매개 변수 또는 추가되지 매개 변수가 있어야한다고 말했다.
이 방법은 값이 두 요소로 구성 리턴 제는(옵션 값) 튜플이다.'-'또는 '-'매개 변수를 두 번째는 그렇지 않은 사람들을 포함하여, 매개 변수의 목록입니다.
또 다른 방법을 설명 여기서 뭘 많이하지 getopt.gnu_getopt된다.
예외 getopt.GetoptError
파라미터 또는 옵션의리스트에서 발견되지 않는 목적하는 파라미터는 예외가 비어 트리거한다.
예외 인수는 오류를 나타내는 문자열입니다.msg 속성에 대한 오류 메시지 관련 옵션 및 옵트.
예
우리는 우리가 스크립트를 보려면 다른 옵션을 사용하는 동안 당신은, 스크립트 파일 이름 명령에 두 줄을 전달할 수 있습니다, 이러한 스크립트를 작성하자. 다음 스크립트를 사용하여
usage: test.py -i <inputfile> -o <outputfile>
다음과 같이 test.py 파일의 코드는 다음과 같습니다
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys, getopt def main(argv): inputfile = '' outputfile = '' try: opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="]) except getopt.GetoptError: print 'test.py -i <inputfile> -o <outputfile>' sys.exit(2) for opt, arg in opts: if opt == '-h': print 'test.py -i <inputfile> -o <outputfile>' sys.exit() elif opt in ("-i", "--ifile"): inputfile = arg elif opt in ("-o", "--ofile"): outputfile = arg print '输入的文件为:', inputfile print '输出的文件为:', outputfile if __name__ == "__main__": main(sys.argv[1:])
위의 코드의 구현, 출력은 :
$ python test.py -h usage: test.py -i <inputfile> -o <outputfile> $ python test.py -i inputfile -o outputfile 输入的文件为: inputfile 输出的文件为: outputfile