백엔드 개발 파이썬 튜토리얼 Python 명령줄 구문 분석 도구 Argparse 사용법에 대한 자세한 설명

Python 명령줄 구문 분석 도구 Argparse 사용법에 대한 자세한 설명

Mar 10, 2017 pm 01:55 PM

이 글에서는 주로 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(): &#39;str&#39; and &#39;int&#39;
로그인 후 복사

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: &#39;four&#39;
로그인 후 복사

이제 프로그램이 원활하게 실행되고 일부 잘못된 입력을 처리할 수 있습니다.

위 내용은 Python 명령줄 구문 분석 도구 Argparse 사용에 대한 간단한 튜토리얼입니다.

위 내용은 Python 명령줄 구문 분석 도구 Argparse 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Linux 터미널에서 Python 버전을 볼 때 발생하는 권한 문제를 해결하는 방법은 무엇입니까? Linux 터미널에서 Python 버전을 볼 때 발생하는 권한 문제를 해결하는 방법은 무엇입니까? Apr 01, 2025 pm 05:09 PM

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

HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까? HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까? Mar 10, 2025 pm 06:54 PM

이 기사에서는 HTML을 구문 분석하기 위해 파이썬 라이브러리 인 아름다운 수프를 사용하는 방법을 설명합니다. 데이터 추출, 다양한 HTML 구조 및 오류 처리 및 대안 (SEL과 같은 Find (), find_all (), select () 및 get_text ()와 같은 일반적인 방법을 자세히 설명합니다.

파이썬의 수학 모듈 : 통계 파이썬의 수학 모듈 : 통계 Mar 09, 2025 am 11:40 AM

Python의 통계 모듈은 강력한 데이터 통계 분석 기능을 제공하여 생물 통계 및 비즈니스 분석과 같은 데이터의 전반적인 특성을 빠르게 이해할 수 있도록 도와줍니다. 데이터 포인트를 하나씩 보는 대신 평균 또는 분산과 같은 통계를보고 무시할 수있는 원래 데이터에서 트렌드와 기능을 발견하고 대형 데이터 세트를보다 쉽고 효과적으로 비교하십시오. 이 튜토리얼은 평균을 계산하고 데이터 세트의 분산 정도를 측정하는 방법을 설명합니다. 달리 명시되지 않는 한,이 모듈의 모든 함수는 단순히 평균을 합산하는 대신 평균 () 함수의 계산을 지원합니다. 부동 소수점 번호도 사용할 수 있습니다. 무작위로 가져옵니다 수입 통계 Fracti에서

Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까? Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까? Mar 10, 2025 pm 06:52 PM

이 기사는 딥 러닝을 위해 텐서 플로와 Pytorch를 비교합니다. 데이터 준비, 모델 구축, 교육, 평가 및 배포와 관련된 단계에 대해 자세히 설명합니다. 프레임 워크, 특히 계산 포도와 관련하여 주요 차이점

인기있는 파이썬 라이브러리와 그 용도는 무엇입니까? 인기있는 파이썬 라이브러리와 그 용도는 무엇입니까? Mar 21, 2025 pm 06:46 PM

이 기사는 Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask 및 요청과 같은 인기있는 Python 라이브러리에 대해 설명하고 과학 컴퓨팅, 데이터 분석, 시각화, 기계 학습, 웹 개발 및 H에서의 사용에 대해 자세히 설명합니다.

한 데이터 프레임의 전체 열을 Python의 다른 구조를 가진 다른 데이터 프레임에 효율적으로 복사하는 방법은 무엇입니까? 한 데이터 프레임의 전체 열을 Python의 다른 구조를 가진 다른 데이터 프레임에 효율적으로 복사하는 방법은 무엇입니까? Apr 01, 2025 pm 11:15 PM

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

Python으로 명령 줄 인터페이스 (CLI)를 만드는 방법은 무엇입니까? Python으로 명령 줄 인터페이스 (CLI)를 만드는 방법은 무엇입니까? Mar 10, 2025 pm 06:48 PM

이 기사는 Python 개발자가 CLIS (Command-Line Interfaces) 구축을 안내합니다. Typer, Click 및 Argparse와 같은 라이브러리를 사용하여 입력/출력 처리를 강조하고 CLI 유용성을 향상시키기 위해 사용자 친화적 인 디자인 패턴을 홍보하는 세부 정보.

파이썬에서 가상 환경의 목적을 설명하십시오. 파이썬에서 가상 환경의 목적을 설명하십시오. Mar 19, 2025 pm 02:27 PM

이 기사는 프로젝트 종속성 관리 및 충돌을 피하는 데 중점을 둔 Python에서 가상 환경의 역할에 대해 설명합니다. 프로젝트 관리 개선 및 종속성 문제를 줄이는 데있어 생성, 활성화 및 이점을 자세히 설명합니다.

See all articles