Python 명령줄 구문 분석 도구 Argparse에 대한 자세한 소개
최근에는 명령줄 프로그램 작성을 위해 Python 표준 라이브러리에서 권장되는 도구인 pathon의 명령줄 구문 분석 도구인 argparse를 연구하고 있습니다.
예전에는 UI 프로그램을 했는데 오늘은 명령줄 프로그램을 사용해 보았는데 특히 vc++에서는 인터페이스 문제를 공부하는 데 많은 시간을 소비할 필요가 없어 매우 번거롭습니다. .
이제 Python을 사용하여 명령줄을 구현합니다. 핵심 컴퓨팅 모듈은 자체적으로 확장 라이브러리로 C로 작성할 수 있으며 효과가 상당히 좋습니다.
argparse를 배우고, 공식 문서에서 toturial 기사를 찾아서 간략하게 번역했습니다.
http://docs.python.org/2/howto/argparse.html#id1
Argparse Tutorial
이 튜토리얼에서는 Python 표준 라이브러리 Line 매개변수에서 권장하는 명령을 간략하게 소개합니다. 구문 분석 모듈 - 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'

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

Linux 터미널에서 Python 사용 ...

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.
