命令行神器之argparse使用笔记

示例

废话很少说直接给例子: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



MARSGGBO原创




2019-3-12

相关文章
相关标签/搜索