廢話很少說直接給例子: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