Python 使用 docopt 解析json参数文件过程讲解

 更新时间:2019年08月13日 10:37:10   作者:SiyuanChen  
这篇文章主要介绍了Python 使用 docopt 解析json参数文件过程讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1. 背景

在深度学习的任务中,通常需要比较复杂的参数以及输入输出配置,比如需要不同的训练data,不同的模型,写入不同的log文件,输出到不同的文件夹以免混淆输出

常用的parser.add()方法非常占用代码空间,而且输入输出配置无法通过文件更改,只能通过命令行参数改变。

docopt 库提供了一个非常优雅的命令行解析工具,这边只介绍其中解析文件参数

2. 安装

pip install docopt
import docopt
import json
  

3. 使用

docopt 由两部分组成,第一部分是解析部分,通过“”“ -”“”(一段类似注释的双引号表示),这一部分必不可少。

"""
Usage: train <json_file>
"""

上面解析部分的指令很简单,输入应为:

python test.py config.json

第二部分是main 函数:

if __name__ == "__main__":
  args = docopt.docopt(__doc__)
  args = json.load(open(args["<json_file>"]))
  print('==>Params')
  for key in args.keys():
    print('\t{}:{}\n'.format(key,args[key]))
  train(args) 

我将 config.json 设置为:

{
 "dataset":    "human_science",
 "length":     1000,
 "model":     "CNN",
 "log_dir":    "./logs/",
 "output_dir":   "./output/",
 "output_prefix": "human_science_CNN",
 
 "lr":0.01
}

命令行的输出应为:

成功将参数传入train()函数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python数据分析之单因素分析线性拟合及地理编码

    python数据分析之单因素分析线性拟合及地理编码

    这篇文章主要介绍了python数据分析之单因素分析线性拟合及地理编码,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • 使用Python写一个贪吃蛇游戏实例代码

    使用Python写一个贪吃蛇游戏实例代码

    这篇文章主要介绍了使用Python写一个贪吃蛇游戏实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-08-08
  • Python输入正负10进制,转4位16进制问题

    Python输入正负10进制,转4位16进制问题

    这篇文章主要介绍了Python输入正负10进制,转4位16进制问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python 文本文件内容批量抽取实例

    Python 文本文件内容批量抽取实例

    今天小编就为大家分享一篇Python 文本文件内容批量抽取实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python实现二叉排序树与平衡二叉树的示例代码

    Python实现二叉排序树与平衡二叉树的示例代码

    树表查询即借助具有特殊性质的树数据结构进行关键字查找,本文所涉及到的特殊结构性质的树包括:二叉排序树、平衡二叉树。文中详细介绍了二者的实现代码,需要的可以参考一下
    2022-04-04
  • Selenium鼠标与键盘事件常用操作方法示例

    Selenium鼠标与键盘事件常用操作方法示例

    这篇文章主要介绍了Selenium鼠标与键盘事件常用操作方法,结合实例形式分析了Selenium鼠标事件与键盘事件常见方法与相关使用技巧,需要的朋友可以参考下
    2018-08-08
  • 详解Python中可散列的数据类型

    详解Python中可散列的数据类型

    在Python中,字典(dict)是一种常用的数据类型,其使用键(key)和值(value)来存储和访问数据,在字典中,键必须是可哈希(hashable)的类型,否则会导致运行时错误,因此,在Python中,有一些可散列的数据类型可以作为字典的键
    2023-06-06
  • 双目测距python实现方法实战(含标定)

    双目测距python实现方法实战(含标定)

    相机标定对于双目视觉系统至关重要,它涉及到获取左右相机的内参矩阵、畸变系数、旋转矩阵和平移向量等关键参数,这篇文章主要介绍了双目测距python实现的相关资料,需要的朋友可以参考下
    2024-11-11
  • django如何根据现有数据库表生成model详解

    django如何根据现有数据库表生成model详解

    这篇文章主要给大家介绍了关于django如何根据现有数据库表生成model的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友可以参考下
    2022-08-08
  • 解决python列表list中的截取问题

    解决python列表list中的截取问题

    这篇文章主要介绍了解决python列表list中的截取问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05

最新评论