废话很少说直接给例子:python
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]}")
输出结果:spa
data:./data/ no_sampler:False batch_size:42 lr:0.1
通常而言argparse都是写在main.py里的,可是有时参数设置有不少,main.py就显得很臃肿,因此能够考虑将参数设置单独写在一个文件里。示例以下:code
文件结构ip
Project_name |____main.py |____config.py
config.pyit
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.pyio
from config import parsers if __name__ == '__main__': args = parsers() for key in args.__dict__: print(f"{key}:{args.__dict__[key]}")
输出结果和上面的同样同样的。class