Python에서 명령줄 매개변수를 얻는 방법 요약
명령줄 매개변수를 얻는 Python의 방법 소개: getopt 모듈 및 argparse 모듈.
python 버전: 2.7
1. getopt 모듈
은 주로 모듈의 기능을 사용합니다:
options, args = getopt.getopt(args, shortopts, longopts=[])
매개변수 인수: 일반적으로 sys.argv[1:]. 실행된 스크립트의 이름이며 명령줄 매개변수로 계산되지 않는 sys.argv[0]을 필터링합니다.
매개변수 shortopts: 짧은 형식 분석 문자열. 예를 들어, "hp:i:"는 h 뒤에 콜론이 없다는 의미입니다. 이는 매개변수가 없음을 의미합니다. 즉, p와 i 뒤에 콜론이 있다는 의미입니다.
매개변수 longopts: 긴 형식 분석 문자열 목록입니다. 예: ["help", "ip=", "port="], help 뒤에 등호가 없습니다. 이는 매개변수가 없음을 의미합니다. 이는 ip 및 port 뒤에 콜론이 있음을 의미합니다.
반환 값 옵션은 튜플을 요소로 포함하는 목록입니다. 각 튜플의 형식은 (옵션 문자열, 추가 매개변수)입니다. 예: ('-i', '192.168.0.1')
반환 값 args는 목록이며, 그 요소는 '-' 또는 '--'를 포함하지 않는 매개변수입니다.
명령줄에서 다음 명령을 실행하세요:
python test_getopt.py -i 192.168.0.1 -p 80 123 a
또는
python test_getopt.py -ip=192.168.0.1 --port=80 123 a
test_getopt.py 코드는 다음과 같습니다.
#encoding=utf-8 import getopt import sys def main(argv): try: options, args = getopt.getopt(argv, "hp:i:", ["help", "ip=", "port="]) except getopt.GetoptError: sys.exit() for option, value in options: if option in ("-h", "--help"): print("help") if option in ("-i", "--ip"): print("ip is: {0}".format(value)) if option in ("-p", "--port"): print("port is: {0}".format(value)) print("error args: {0}".format(args)) if __name__ == '__main__': main(sys.argv[1:])
실행 결과는 다음과 같습니다.
2. argparse 모듈
은 명령줄 옵션과 매개변수를 구문 분석하는 데 사용되는 표준 모듈입니다.
사용 단계:
1: import argparse #Import 모듈
2: 파서 = argparse.ArgumentParser() #파싱 객체 생성
3: 파서 .add_argument() #객체에 사용되는 명령줄 옵션 및 매개변수 추가
4: parser.parser_args() #명령줄 구문 분석
다음 세부 사항 소개 메서드 ArgumentParser 및 add_argument:
ArgumentParser(prog=None, 사용법=None, 설명=None, epilog=None, parent=[], formatter_class=argparser.HelpFormatter, prefix_chars='-', fromfile_prefix_chars= None, Argument_default=None, conflict_handler='error', add_help=True)
매개변수에는 기본값이 있습니다. 매개변수가 잘못되어 프로그램을 실행하거나 parser.print_help() 메서드를 호출하는 경우 이러한 설명이 인쇄됩니다. . 일반적으로 매개변수 설명만 전달하면 됩니다.
add_argument(이름 또는 플래그... [, 작업] [, nargs] [, const] [, 기본값] [, 유형] [, 선택] [, 필수] [, 도움말] [, 메타변수] [, dest])
공통 매개변수는 다음과 같이 설명됩니다.
이름 또는 플래그: 명령줄 매개변수 이름 또는 옵션(예: -p, --port
action:
Store: 기본 액션 모드, 지정된 변수에 값을 저장합니다.
Store_const: 저장된 값은 매개변수의 const 부분에 지정되며 종종 부울이 아닌 구현에 사용됩니다. 명령줄 플래그
store_true/store_false: 부울 스위치. store_true의 기본값은 False입니다. 명령줄에 부울 스위치를 입력하면 값은 True입니다. store_false는 반대입니다.
Append: 값을 목록에 저장합니다. 이 매개변수는 재사용할 수 있습니다.
Append_const: 값을 목록에 저장합니다. 저장된 값은 const 부분에 지정됩니다. 매개변수
개수: 통계 입력 매개변수 약어 개수
버전: 버전 정보 출력 후 스크립트 종료
nargs: 일반적으로 명령줄 매개변수 개수 와일드카드로 표시: ? 하나만 사용됨을 의미하고, *는 0 이상, +는 1 이상을 의미합니다.
기본값: 기본값
유형: 매개변수 유형, 기본값은 문자열 유형, 부동 소수점일 수도 있습니다. int, boolean 등의 유형
선택사항: 입력값 범위
필수: 기본값은 False, True인 경우 매개변수를 입력해야 한다는 의미
help : 정보
dest를 사용하기 위한 도움말 프롬프트: 프로그램 매개변수의 해당 변수 이름(예: add_argument("-a", dest="code_name")), 스크립트에서 parser.code_name을 사용하여 명령줄 옵션 값에 액세스
샘플 스크립트 test_argparse.py 코드는 다음과 같습니다.
1 #encoding=utf-8 2 import argparse 3 4 def main(args): 5 print("--address {0}".format(args.code_address)) #args.address会报错,因为指定了dest的值 6 print("--flag {0}".format(args.flag)) #如果命令行中该参数输入的值不在choices列表中,则报错 7 print("--port {0}".format(args.port)) #prot的类型为int类型,如果命令行中没有输入该选项则报错 8 print("-l {0}".format(args.log)) #如果命令行中输入该参数,则该值为True。因为为短格式"-l"指定了别名"--log",所以程序中用args.log来访问 9 10 if __name__ == '__main__':11 parser = argparse.ArgumentParser(usage="it's usage tip.", description="help info.")12 parser.add_argument("--address", default=80, help="the port number.", dest="code_address")13 parser.add_argument("--flag", choices=['.txt', '.jpg', '.xml', '.png'], default=".txt", help="the file type")14 parser.add_argument("--port", type=int, required=True, help="the port number.")15 parser.add_argument("-l", "--log", default=False, action="store_true", help="active log info.")16 17 args = parser.parse_args()18 main(args)
다음 명령을 각각 실행하십시오:
python test_argparse.py
python test_argparse.py --port 80
python test_argparse.py --port 80 --flag apk
python test_argparse.py --port 80 -l
명령줄 매개변수를 얻는 더 많은 Python 방법과 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!

핫 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을 입력하십시오 ...

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

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

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

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

파이썬에서 문자열을 통해 객체를 동적으로 생성하고 메소드를 호출하는 방법은 무엇입니까? 특히 구성 또는 실행 해야하는 경우 일반적인 프로그래밍 요구 사항입니다.

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