废话不多说直接给例子:������թ,�������
import argparseparser = 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:Falsebatch_size:42lr:0.1简化代码
一般而言argparse都是写在main.py里的,但是有时参数设置有很多,main.py就显得很臃肿,所以可以考虑将参数设置单独写在一个文件里。示例如下:
文件结构
Project_name|____main.py|____config.py
config.py
import argparsedef 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 parsersif __name__ == '__main__':args = parsers()for key in args.__dict__:print(f"{key}:{args.__dict__[key]}")
输出结果和上面的一样一样的。