argparse는 Python용 명령줄 매개변수 구문 분석 패키지입니다. 코드에서 매개변수를 자주 수정해야 할 때 사용하면 편리합니다. 선.
import argparse def get_parser(): # argparse.ArgumentParser生成argparse对象 description为描述信息,当在命令行输入需要显示帮助信息时,会显示 parser = argparse.ArgumentParser(description="pytorch unet training") # 路径参数设置 help为参数的帮助信息 parser.add_argument("--data_path", default="./", help="DRIVE root") # 预测类别数量 type如果不指定需要输入的是str类型 parser.add_argument("--num_classes", default=1, type=int) # 指定设备使用 parser.add_argument("--device", default="cuda", help="training device") # 指定batch size大小 "-b", "--batch_size"表示两个都可以在命令行使用 parser.add_argument("-b", "--batch_size", default=4, type=int) return parser if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print(args)
위에서 언급한 것처럼 get_parser()는 이 기사에서 소개된 사용 방법 중 일부입니다. 이 Python 파일의 이름은 python_argparse_test1.py이며, 여기서
parser = argparse입니다. ArgumentParser(description="pytorch unet training" )는 파서 객체를 생성하는 데 사용됩니다
add_argument()는 파싱된 매개변수를 가져오기 위해 pars_args()에 매개변수
args =parser.parse_args()를 추가하는 데 사용됩니다
명령줄이 python python_argparse_test1.py 에 들어가면 args로 얻은 매개변수를 인쇄하고 다음을 얻습니다:
Namespace(batch_size=4, data_path='./', device='cuda', num_classes=1)
이 매개변수 파서에 의해 구문 분석된 매개변수 목록을 나타냅니다
python python_argparse_test1.py -h 또는 python python_argparse_test1.py --help를 입력하여 사용법을 표시하는 정보를 표시합니다. pytorch unet 훈련은 설명은 아래와 같으며 각 매개변수에 대한 정보와 사용법은 다음과 같습니다
import argparse def get_parser(): # argparse.ArgumentParser生成argparse对象 description为描述信息,当在命令行输入需要显示帮助信息时,会显示 parser = argparse.ArgumentParser(description="pytorch unet training") # 路径参数设置 help为参数的帮助信息 default为默认参数 parser.add_argument("--data_path", default="./", help="DRIVE root") # 预测类别数量 type如果不指定需要输入的是str类型 parser.add_argument("--num_classes", default=1, type=int) # 指定设备使用 parser.add_argument("--device", default="cuda", help="training device") # 指定batch size大小 "-b", "--batch_size"表示两个都可以在命令行使用 parser.add_argument("-b", "--batch_size", default=4, type=int) return parser if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("data_path: ",args.data_path) print("num_classes: ", args.num_classes)
명령줄 입력: python python_argparse_test1.py --data_path Desktop --num_classer 4, 결과는 다음과 같습니다. 다음과 같습니다:
data_path: Desktop
num_classes: 4
명령줄에서 실제로 매개변수가 수정되었습니다
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("-b: ",args.b) print("--batch_size: ", args.batch_size)
명령줄은 python python_argparse_test1을 입력합니다. .py -b 10 --batch_size 20, 오류가 보고됩니다:
이것은 '_'와 '__'가 동시에 존재할 때 시스템이 매개변수 이름으로 후자를 기본값으로 설정하기 때문입니다
위 코드를 다음으로 변경하세요.
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size: ",args.batch_size)
그러나 명령줄은 영향을 받지 않습니다. 계속해서 python python_argparse_test1.py -b 10 명령을 실행하고 get:
--batch_size: 10
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size type: ",type(args.batch_size))
유형의 유형으로 변환하도록 강제합니다. 명령줄 입력: python python_argparse_test1.py --batch_size '10' 가져오기:
--batch_size 유형:
6.required: 이 매개변수를 제공해야 하는지 여부를 나타내는 데 사용됩니다.
parser.add_argument("--num_classes", default=1, type=int, required=True)
명령을 입력하면 매개변수가 실제로 필요하다는 오류가 보고됩니다
python_argparse_test1.py: 오류: 다음 인수가 필요합니다: --num_classes
7.choices매개 변수 선택
parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])
이렇게 하면 오류가 보고됩니다
python_argparse_test1.py: 오류: 인수 -arch: 잘못된 선택 : 'cnn' ('alexnet', 'vgg' 중 선택)
위 내용은 Python argparse 사용: 명령줄 인수를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!