argparse ist ein Befehlszeilenparameter-Parsing-Paket für Python. Wenn der Code häufig Parameter ändern muss , Einfach zu verwenden, die Hauptverwendung besteht darin, die Parameter, die Sie ändern möchten, in die Befehlszeile einzugeben.
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)
Wie oben ist get_parser() eine der in diesem Artikel vorgestellten Verwendungsmethoden. Diese Python-Datei heißt python_argparse_test1.py. wobei #🎜🎜 #
parser = argparse.ArgumentParser(description="pytorch unet training") zum Erstellen eines Parserobjekts verwendet wird add_argument() zum Hinzufügen von Parametern verwendet wirdargs = parser In .parse_args() ruft parse_args() die analysierten Parameter ab 1. Holen Sie sich die Parameterliste Wenn Python python_argparse_test1.py eingegeben wird Drucken Sie in der Befehlszeile die von args erhaltenen Parameter aus, um Folgendes zu erhalten: Namespace(batch_size=4, data_path='./', device='cuda', num_classes=1)
#🎜 🎜# stellt die von diesem Parameterparser analysierte Parameterliste dar.
2. Hilfeinformationen abrufen
3. Parameter in der Befehlszeile ändern
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)
data_path: Desktop# 🎜🎜#
num_classes: 4#🎜🎜 #Sie können sehen, dass die Parameter über die Befehlszeile geändert wurden
4 Die Verwendung von '_' und "__. "
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("-b: ",args.b) print("--batch_size: ", args.batch_size)
Befehlszeileneingabe python python_argparse_test1.py -b 10 - -batch_size 20, dann wird ein Fehler gemeldet:
#🎜 🎜#Das liegt daran, dass das System bei gleichzeitiger Existenz von „_“ und „__“ letzteren standardmäßig als Parameter verwendet. Name
Ändern Sie den obigen Code in:
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size: ",args.batch_size)
if __name__ =='__main__': parser = get_parser() args = parser.parse_args() print("--batch_size type: ",type(args.batch_size))
parser.add_argument("--num_classes", default=1, type=int, required=True)
eingeben, wird ein Fehler gemeldet, der darauf hinweist, dass der Parameter tatsächlich erforderlich ist Erforderlich: --num_classes
7.choices Auswahlparameter
parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])
Das wird Einen Fehler melden
python_argparse_test1.py: Fehler: Argument -arch: ungültige Wahl: 'cnn' (wählen Sie aus 'alexnet', 'vgg')
Das obige ist der detaillierte Inhalt vonVerwenden von Python argparse: Umgang mit Befehlszeilenargumenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!