Python 명령행 매개 변수argv와argparse는 어떻게 사용합니까
개요
python 스크립트를 실행할 때 명령행 방식으로 실행 매개 변수를 전송하는 방법은 보통 다음과 같은 두 가지가 있습니다.
argv
# test_argv.py
import sys
args = sys.argv
print(f'args = {args}')
>>> output
➜ git:(master) python3 test_argv.py
args = ['test_argv.py']
➜ git:(master) ✗ python3 test_argv.py 1 2 3
args = ['test_argv.py', '1', '2', '3']
➜ git:(master) ✗ python3 test_argv.py 1 2 3 'hello world !'
args = ['test_argv.py', '1', '2', '3', 'hello world !']
위에서 보듯이 argv
방법으로 얻은 결과:argparse
argparse 모듈의 기능이 비교적 풍부하고 그 핵심은add_를 통해argument 방법은 다음과 같이 로고, 형식, 유형과 범위 등의 특성을 사용자 정의합니다.
인스턴스
test_argv.py
import argparse
# parser
parser = argparse.ArgumentParser(description='test module of argparse')
# -n/--number
# int
# help
parser.add_argument(
'-n', '--number', type=int,
help='args of number'
)
# -o/--output
# :['txt', 'csv', 'doc']
parser.add_argument(
'-o', '--output', type=str,
choices=['txt', 'csv', 'doc'],
help='output method'
)
# -d/--default
# :['txt', 'csv', 'doc']
parser.add_argument(
'-d', '--default', type=int,
choices=[_ for _ in range(1, 10)],
default=5,
help='default'
)
# foo
parser.add_argument('foo')
args = parser.parse_args()
print(f'args = {args}')
#
print(
f'number = {args.number}, type = {type(args.number)}
'
f'output = {args.output}, type = {type(args.output)}
'
f'default = {args.default}, type = {type(args.default)}
'
f'foo = {args.foo}, type = {type(args.foo)}'
)
output
# -h - help
➜ git:(master) ✗ python3 test_argv.py -h
usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
[-d {1,2,3,4,5,6,7,8,9}]
foo
test module of argparse
positional arguments:
foo
optional arguments:
-h, --help show this help message and exit
-n NUMBER, --number NUMBER
args of number
-o {txt,csv,doc}, --output {txt,csv,doc}
output method
-d {1,2,3,4,5,6,7,8,9}, --default {1,2,3,4,5,6,7,8,9}
default
# , None
➜ git:(master) ✗ python3 test_argv.py
args = Namespace(number=None, output=None)
number = None
output = None
#
➜ git:(master) ✗ python3 test_argv.py -n 33 --output txt
args = Namespace(number=33, output='txt')
number = 33, type = <class 'int'>
output = txt, type = <class 'str'>
#
➜ git:(master) ✗ python3 test_argv.py -n str
usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
test_argv.py: error: argument -n/--number: invalid int value: 'str'
➜ git:(master) ✗ python3 test_argv.py -o excel
usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
test_argv.py: error: argument -o/--output: invalid choice: 'excel' (choose from 'txt', 'csv', 'doc')
#
➜ git:(master) ✗ python3 test_argv.py
args = Namespace(default=5, number=None, output=None)
number = None, type = <class 'NoneType'>
output = None, type = <class 'NoneType'>
output = 5, type = <class 'int'>
이상은Python 명령행 매개 변수argv와argparse를 어떻게 사용해야 하는지에 대한 상세한 내용입니다. 더 많은 Python 명령행 매개 변수argv와argparse에 대한 자료는 저희 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.