이 글에서는 주로 Python 명령줄 구문 분석 도구인 Argparse의 사용법을 자세히 설명합니다. 관심 있는 친구들은
최근 Python 표준 라이브러리인 pathon의 명령줄 구문 분석 도구인 argparse를 연구하고 있습니다. 명령줄 프로그램 작성에 권장되는 도구입니다.
예전에는 UI 프로그램을 했는데 오늘은 명령줄 프로그램을 사용해 보았는데 특히 vc++에서는 인터페이스 문제를 공부하는 데 많은 시간을 소비할 필요가 없어 매우 번거롭습니다. .
이제 Python을 사용하여 명령줄을 구현합니다. 핵심 컴퓨팅 모듈은 자체적으로 확장 라이브러리로 C로 작성할 수 있으며 효과가 상당히 좋습니다.
argparse를 배우고, 공식 문서에서 toturial 기사를 찾아서 간략하게 번역했습니다.
http://docs.python.org/2/howto/argparse.html#id1
Argparse 튜토리얼
이 튜토리얼은 Python에 대한 간결한 소개를 제공합니다. 표준 라이브러리에서 권장하는 명령줄 매개변수 구문 분석 모듈인 Argparse를 사용합니다.
1. 기본 개념
이 튜토리얼에서는 일반적인 ls 명령을 사용하여 argparse의 기능을 보여줍니다.
$ ls cpython devguide prog.py pypy rm-unused-function.patch $ ls pypy ctypes_configure demo dotviewer include lib_pypy lib-python ... $ ls -l total 20 drwxr-xr-x 19 wena wena 4096 Feb 18 18:51 cpython drwxr-xr-x 4 wena wena 4096 Feb 8 12:04 devguide -rwxr-xr-x 1 wena wena 535 Feb 19 00:05 prog.py drwxr-xr-x 14 wena wena 4096 Feb 7 00:59 pypy -rw-r--r-- 1 wena wena 741 Feb 18 01:01 rm-unused-function.patch $ ls --help Usage: ls [OPTION]... [FILE]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
위의 4개 명령에서 다음과 같은 기본 개념을 이해할 수 있습니다.
1) 매개변수가 없는 ls 명령도 가능합니다. 실행하고 기본적으로 현재 디렉터리의 모든 내용을 인쇄합니다.
2) 더 많은 콘텐츠를 표시하려면 더 많은 매개변수를 제공해야 합니다. 이 경우에는 pypy라는 다른 디렉터리를 표시하려고 합니다. 우리가 한 일은 프로그램이 명령줄의 인수 위치에 따라 무엇을 할지 결정해야 하기 때문에 공통 위치 인수를 지정하는 것입니다. 이 개념은 cp 명령에 더 가깝습니다. 사용법은 cp src dest입니다. src는 복사하려는 파일을 나타내고, dest는 파일을 복사하려는 위치를 나타냅니다.
3) 이제 프로그램의 동작을 변경하고 싶습니다. 이 예에서는 파일 이름만이 아닌 파일의 서쪽 정보를 표시하고 싶습니다. -l 매개 변수는 우리가 알고 있는 선택적 인수(선택 인수)
4)이고 마지막 문장은 도움말을 표시하는 것입니다. 문서 이전에 사용한 적이 없는 명령을 사용하는 방법을 배우는 데 사용할 수 있는 조각입니다.
2. 기본 이해
기본 프로그램부터 시작합니다(아무것도 하지 않음)
import argparse parser = argparse.ArgumentParser() parser.parse_args()
실행 결과:
$ python prog.py $ python prog.py --help usage: prog.py [-h] optional arguments: -h, --help show this help message and exit $ python prog.py --verbose usage: prog.py [-h] prog.py: error: unrecognized arguments: --verbose $ python prog.py foo usage: prog.py [-h] prog.py: error: unrecognized arguments: foo
결과 분석:
1) 매개 변수를 지정하지 않고 이 프로그램을 실행하면 아무 결과도 얻을 수 없습니다.
2) 두 번째 이름은 argparse 사용의 이점을 보여줍니다. 아무 작업도 수행하지 않았지만 좋은 도움말 메시지를 받았습니다.
3) --help 매개변수를 수동으로 설정하지 않고도 좋은 도움말 메시지를 얻을 수 있습니다. 그러나 다른 매개변수(예: foo)가 제공되면 오류가 생성됩니다.
3. 위치 매개변수
먼저 예를 들어보세요:
import argparse parser = argparse.ArgumentParser() parser.add_argument("echo") args = parser.parse_args() print args.echo
실행 결과:
$ python prog.py usage: prog.py [-h] echo prog.py: error: the following arguments are required: echo $ python prog.py --help usage: prog.py [-h] echo positional arguments: echo optional arguments: -h, --help show this help message and exit $ python prog.py foo foo
결과 분석:
이번에는 프로그램에 허용되는 명령줄 매개변수를 설정하기 위해 add_argument() 메서드를 추가했습니다.
이제 프로그램을 실행하려면 매개변수를 설정해야 합니다.
parse_args() 메서드는 실제로 명령줄 인수에서 일부 데이터를 반환합니다. 위의 예에서는 echo입니다.
이 "마법"과 유사한 프로세스는 argparse에 의해 자동으로 완료됩니다.
자동으로 생성된 도움말 정보가 아름답게 표시되지만 echo 매개변수만으로는 어떤 기능을 하는지 알 수 없습니다. 그래서 좀 더 유용하게 사용할 수 있도록 몇 가지 사항을 추가했습니다.
import argparse parser = argparse.ArgumentParser() parser.add_argument("echo", help="echo the string you use here") args = parser.parse_args() print args.echo
실행 결과:
$ python prog.py -h usage: prog.py [-h] echo positional arguments: echo echo the string you use here optional arguments: -h, --help show this help message and exit
이를 바탕으로 더 많은 변화를 만들어 가겠습니다. 한 점: (입력 매개변수 제곱의 제곱을 계산합니다)
import argparse parser = argparse.ArgumentParser() parser.add_argument("square", help="display a square of a given number") args = parser.parse_args() print args.square**2
다음은 실행 결과입니다.
$ python prog.py 4 Traceback (most recent call last): File "prog.py", line 5, in <module> print args.square**2 TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'
argparse가 입력을 문자열로 처리하기 때문에 이 프로그램이 올바르게 실행되지 않으므로 해당 유형을 (type=int)
import argparse parser = argparse.ArgumentParser() parser.add_argument("square", help="display a square of a given number", type=int) args = parser.parse_args() print args.square**2
<로 설정해야 합니다. 🎜>
다음은 결과입니다:$ python prog.py 4 16 $ python prog.py four usage: prog.py [-h] square prog.py: error: argument square: invalid int value: 'four'
위 내용은 Python 명령줄 구문 분석 도구 Argparse 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!