python이 명령줄에 입력한 매개 변수를 얻는 두 가지 방법
명령행 매개변수를 가져오는 두 가지 방법
1. sys를 통해.argv
sys.argv: 매개 변수 목록을 얻을 수 있습니다. 첫 번째 값은 파일 이름 자체입니다. sys를 통해.argv[1] 파일 이름 획득 후 첫 번째 파라미터, 여러 파라미터는 공백으로 구분
테스트 코드:
import sys
print(sys.argv)
print(len(sys.argv))
print(len(sys.argv[1]))
테스트 데이터:
python3 test.py
실행 결과:['test.py','첫 번째 매개 변수','두 번째 매개 변수']
삼
오
[]
['첫 번째 매개 변수','두 번째 매개 변수']
2. getopt()를 통해 매개 변수 값을 얻는다
명령줄이 linux에서 지정한 매개 변수 이름을 통해 실행되어야 한다면, getopt () 를 사용하여 매개 변수 내용을 얻을 수 있습니다
명령
【getopt.getopt( ," ",[ ])】
매개 변수는 두 가지 차원 구분이 있는데 그것이 바로 짧은 옵션, 긴 옵션이다.매개변수 값 (스위치) 및 매개변수 값 없음짧은 옵션 매개 변수 (명령줄 사용 - 매개 변수 이름): 알파벳 뒤에 콜론으로 구성된 알파벳 1개: 이 매개 변수는 매개 변수 값이 있어야 함을 나타냅니다. 그렇지 않으면 매개 변수 값을 입력하지 않음을 나타냅니다.
예: io:
입력할 입력 표시
-i -o=xxx
긴 옵션 매개 변수 (명령줄 사용 - 매개 변수 이름): [매개 변수 이름 =]에 의해 값이 있는 매개 변수는 반드시 = 를 써야 하며, 그렇지 않으면 오류가 발생합니다.예:
["help","input=","output="]
입력할 입력 표시--help --input=xxx --output=xxx
테스트 코드:
import getopt
import sys
opts,args=getopt.getopt(sys.argv[1:],"i:ho:",["help","input=","output="])
print(opts)
print(args)
for opts,arg in opts:
print(opts)
if opts=="-h" or opts=="--help":
print(" ")
elif opts=="-i" or opts=="--input":
print(" , :")
print(arg)
elif opts=="-o" or opts=="--output":
print(" , :")
print(arg)
테스트 데이터:
python3 test.py -h -o= --input=
테스트 결과:[('-h','), ('-o','=출력'), ('--input','입력')]
['마지막 매개 변수']
-h
나는 단지 설명 문서일 뿐이다
-o
나는 단지 출력할 뿐, 출력 내용은 다음과 같다.
= 출력
--input
나는 단지 입력했을 뿐, 입력 내용은 다음과 같다.
입력
설명: getopt () 를 사용하면 정의되지 않은 매개 변수를 짧은 옵션과 긴 옵션 앞에 놓을 수 없습니다. 그렇지 않으면 - h --help 이런 매개 변수 값을 읽을 수 없습니다. (원본 코드가 엄격하지 않습니다. 이런 상황에 직면하면 바로break) 뒤에 놓으면 됩니다. 또는args를 통해 얻을 수 있습니다.
getopt () 의 첫 번째 인자 쓰기 sys.argv[1:] 때문에 명령줄의 첫 번째 매개 변수는 파일 이름 자체입니다. 여기는 의미가 없습니다.
총결산
이것은python이 명령줄에 입력한 매개 변수를 얻는 두 가지 방식에 관한 글을 소개합니다. 더 많은 관련python 명령줄 매개 변수 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.