일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 웹개발
- 컴퓨터비전
- 데이터베이스
- 소프트웨어
- 머신러닝
- Yes
- 코딩
- 컴퓨터공학
- 소프트웨어공학
- 네트워크
- 인공지능
- 프로그래밍언어
- 알고리즘
- 보안
- 버전관리
- 파이썬
- 데이터분석
- 자료구조
- 데이터구조
- 클라우드컴퓨팅
- 컴퓨터과학
- 사이버보안
- 딥러닝
- 데이터과학
- 빅데이터
- 네트워크보안
- 2
- I'm Sorry
- 자바스크립트
- 프로그래밍
- Today
- Total
스택큐힙리스트
명령 줄 인수를 구문 분석하는 가장 좋은 방법은 무엇인가요? [중복] 본문
이 질문은 이미 답변이 있습니다 :
How can I read and process (parse) command line arguments?
22개의 답변
9개월 전에 종료되었습니다.
Python 명령 줄 인수를 구문 분석하기위한 가장 쉬운, 간결한 및 유연한 방법 또는 라이브러리는 무엇인가요?
답변 1
$argparse가 가는 방향입니다. 여기 사용 방법 요약입니다:
1) 초기화하다
import argparse
# Instantiate the parser
parser = argparse.ArgumentParser(description='Optional app description')
2) 인수 추가하기
# Required positional argument
parser.add_argument('pos_arg', type=int,
help='A required integer positional argument')
# Optional positional argument
parser.add_argument('opt_pos_arg', type=int, nargs='?',
help='An optional integer positional argument')
# Optional argument
parser.add_argument('--opt_arg', type=int,
help='An optional integer argument')
# Switch
parser.add_argument('--switch', action='store_true',
help='A boolean switch')
3) 구문 분석하다
args = parser.parse_args()
4) 접근
print(Argument values:)
print(args.pos_arg)
print(args.opt_pos_arg)
print(args.opt_arg)
print(args.switch)
5) 값 확인하기
if args.pos_arg > 10:
parser.error(pos_arg cannot be larger than 10)
사용법
올바른 사용:
$ ./app 1 2 --opt_arg 3 --switch
Argument values:
1
2
3
True
잘못된 인수:
$ ./app foo 2 --opt_arg 3 --switch
usage: convert [-h] [--opt_arg OPT_ARG] [--switch] pos_arg [opt_pos_arg]
app: error: argument pos_arg: invalid int value: 'foo'
$ ./app 11 2 --opt_arg 3
Argument values:
11
2
3
False
usage: app [-h] [--opt_arg OPT_ARG] [--switch] pos_arg [opt_pos_arg]
convert: error: pos_arg cannot be larger than 10
모든 도움:
$ ./app -h
usage: app [-h] [--opt_arg OPT_ARG] [--switch] pos_arg [opt_pos_arg]
Optional app description
positional arguments:
pos_arg A required integer positional argument
opt_pos_arg An optional integer positional argument
optional arguments:
-h, --help show this help message and exit
--opt_arg OPT_ARG An optional integer argument
--switch A boolean switch
답변 2
질의: 커맨드 라인 인수를 파싱하는 가장 좋은 방법은 무엇인가요?커맨드 라인 인수는 프로그램에 대한 입력 매개변수로 사용되며 명령어 라인에서 쉽게 전달할 수 있습니다. 이러한 인수를 효과적으로 파싱하면 프로그램을 더 유연하고 다양한 인수를 쉽게 처리할 수 있습니다. 이에 대한 가장 좋은 방법에 대해 알아보도록 하겠습니다.
1. 명령행 파싱 라이브러리 사용
커맨드 라인 파싱을 위한 라이브러리를 사용하는 것이 가장 좋은 방법입니다. 이러한 라이브러리는 명령줄 인수를 파싱하고 구문 분석하는 데 도움을 줍니다. Python에서는 argparse, click, docopt 등의 라이브러리를 사용할 수 있습니다. 이 라이브러리들은 높은 수준에서 파싱을 제공하며 깔끔한 API를 제공합니다.
2. argparse 사용
argparse는 파이썬의 표준 라이브러리 중 하나로, 명령줄 인수를 구문 분석하고 처리할 수 있는 기능을 제공합니다. 이러한 인수를 처리하는 가장 간단한 방법은 argparse.ArgumentParser를 사용하는 것입니다. 이메서드를 호출하고 add_argument()를 사용하여 원하는 인수를 추가하면 됩니다.
3. click 사용
click은 명령줄 인터페이스 (CLI)를 개발하기 위한 Python 패키지입니다. click을 사용하면 명령줄 인터페이스의 선언적 구문을 사용하여 CLI를 손쉽게 정의하고 파싱할 수 있습니다. Click을 사용하면 높은 수준의 인터페이스를 생성하여 이를 파싱해줍니다.
4. docopt 사용
docopt는 독립적인 CLI 파서입니다. 그것은 help 메시지와 문서에 프로그램 인터페이스를 서술할 뿐만 아니라 개발자가 일반적으로 사용하는 명령어를 손쉽게 사용할 수 있게 합니다.
결론적으로, 명령행 파싱 라이브러리를 사용하는 것이 가장 쉽고 효과적인 방법입니다. 그러나 구글 검색 엔진 최적화에 유용한 순위 최적화를 위해 argparse, click, docopt 에 대해서도 더 자세히 알아보았습니다. 이에 따라 적합한 파서를 선택하여, 프로그램의 유연성을 높인 더 효과적인 명령행 파싱이 가능합니다.