示例

废话不多说直接给例子:

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

命令行神器之argparse使用笔记的更多相关文章

  1. python实现命令行解析的argparse的使用

    参考https://docs.python.org/3.6/library/argparse.html argparse模块使编写用户友好的命令行界面变得很容易.程序定义了它需要什么参数,argpar ...

  2. python命令行解析模块--argparse

    python命令行解析模块--argparse 目录 简介 详解ArgumentParser方法 详解add_argument方法 参考文档: https://www.jianshu.com/p/aa ...

  3. python之命令行解析工具argparse

    以前写python的时候都会自己在文件开头写一个usgae函数,用来加上各种注释,给用这个脚本的人提供帮助文档. 今天才知道原来python已经有一个自带的命令行解析工具argparse,用了一下,效 ...

  4. 【python3基础】命令行参数及 argparse

    目录 命令行参数及 argparse 包 argparse 传递 bool 参数错误做法 argparse 传递 bool 参数正确做法 1 argparse 传递 bool 参数正确做法 2 Ref ...

  5. Python解析命令行读取参数 -- argparse模块

    在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数.万能的python就自带了argprase包使得这一工作变得简单而规范.PS:optparse包是类似的功能,只不过写 ...

  6. Python命令行解析库argparse

    2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 1.example 有一道面试题:编写一个脚本main.py,使用方式如下: ...

  7. python命令行解析工具argparse模块【3】

    上一节,我们讲解了ArgumentParser对象,这一节我们将学习这个对象的add_argument()方法.         add_argument()方法的定义了如何解析一个命令行参数,每个参 ...

  8. python命令行解析工具argparse模块【5】

            上一节我们学习了parse_args()的用法,这一节,我们将继续学习argparse的其他一些用法.         1.sub-commands子命令         argpar ...

  9. python命令行解析工具argparse模块【4】

            上一节我们讲解了add_argument()方法,这一节我们将学习parse_args()方法.          parse_args()方法的作用是解析命令行参数,并返回解析之后的 ...

随机推荐

  1. ABP之多租户

    “软件多租户”指的是一种软件架构,一个软件实例在一个服务器上运行,但为多个租户服务.租户们对软件实例有通用的访问入口,但是每个租户都有特定的权限. 在多租户体系架构中,用程序旨在为每个租户提供一个专用 ...

  2. springboot 配置文件

    – Spring Boot使用一个全局的配置文件 • application.properties • application.yml – 配置文件放在src/main/resources目录或者类路 ...

  3. Java的properties文件读取和属性修改

    package Test; import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileO ...

  4. Jeecg-Boot前后端分离版

    Jeecg-Boot前后端分离版http://www.jeecg.org/forum.php?gid=229 Jeecg-Boot 快速开发平台http://boot.jeecg.org/user/l ...

  5. centos下安装nginx并部署angular应用

    注意:直接yum安装的nginx有问题,不能直接安装,因为centos默认库里面没有nginx.如果安装过程中出现一些文件夹或者文件找不到的话,应该是你的nginx的版本没有安装对.最效率的办法是删除 ...

  6. laravel 开启定时任务需要操作

    1.在xshell 中 crontab -e //编辑任务crontab -l //查看执行中的任务列表 2.在打开的任务中: /home/wwwroot/default 换为自己项目的根路径 vag ...

  7. 在windows环境利用celery实现简单的任务队列

    测试使用环境: 1.Python==3.6.1 2.MongoDB==3.6.2 3.celery==4.1.1 4.eventlet==0.23.0 Celery分为3个部分 (1)worker部分 ...

  8. IntelliJ IDEA 2018 最新版注册码

    参考:IntelliJ IDEA 2018注册码(无需修改hosts文件) :

  9. 【.Net】优秀的开源框架

    AutoMapper 官网:http://automapper.org/ github:https://github.com/AutoMapper/AutoMapper 文档:http://autom ...

  10. css 图像热区

    CSS图像热区 在img标签当中,存在一个属性usemap属性,用来和map标签进行绑定,从而实现图像热区.所谓的图像热区,其实指的是在图像中插入一个连接,当用户点击图像的指定区域后就会进行页面跳转. ...