命令行神器之argparse使用筆記


示例

廢話不多說直接給例子:

import argparse

parser = argparse.ArgumentParser(description='Imbalanced Dataset Example')
parser.add_argument('--data', metavar='DIR', default='./data/', help='path to dataset')
parser.add_argument('--no-sampler', action='store_true', default=False,
					help='disables imbalancedSampler')
parser.add_argument('--batch_size', type=int, default=42)
parser.add_argument('--lr', type=float, default=0.1, help='learning rate(default 0.1)')
args = parser.parse_args()

for key in args.__dict__:
	print(f"{key}:{args.__dict__[key]}")

輸出結果:

data:./data/
no_sampler:False
batch_size:42
lr:0.1

簡化代碼

一般而言argparse都是寫在main.py里的,但是有時參數設置有很多,main.py就顯得很臃腫,所以可以考慮將參數設置單獨寫在一個文件里。示例如下:

文件結構

Project_name
|____main.py
|____config.py

config.py

import argparse

def parsers():
	parser = argparse.ArgumentParser(description='Imbalanced Dataset Example')
	parser.add_argument('--data', metavar='DIR', default='./data/', help='path to dataset')
	parser.add_argument('--no-sampler', action='store_true', default=False,
						help='disables imbalancedSampler')
	parser.add_argument('--batch_size', type=int, default=42)
	parser.add_argument('--lr', type=float, default=0.1, help='learning rate(default 0.1)')
	args = parser.parse_args()
	return args

main.py

from config import parsers

if __name__ == '__main__':
	args = parsers()
	for key in args.__dict__:
		print(f"{key}:{args.__dict__[key]}")

輸出結果和上面的一樣一樣的。




微信公眾號:AutoML機器學習
MARSGGBO原創
如有意合作或學術討論歡迎私戳聯系~
郵箱:marsggbo@foxmail.com

2019-3-12




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM