不管是哪一种编程语言,它们有一个共同点就是:都有创建脚本并从终端运行它们或被其他程序调用的功能,在运行此类脚本时,我们经常需要传递脚本所需的参数,以便在脚本内执行各种功能,那你知道Python解析参数的方法有哪些?需要了解的小伙伴可以看看下面这篇文章 。
文章插图
一、Python解析参数的三种方法有哪些?
使用Python要解析参数的时候,存在着三种不同的解析方式,第一种是使用一个Python中流行的模块为:agrparse,在Python中是专门一个用来对命令行解析的模块;第二种方法是通过对json文件进行读取,就是在使用的时候,在json文件中放置有超参数;最后一种方式是使用yaml文件 。具体的使用如下:
二、Python解析参数的三种方法
1、使用agrparse模块
使用这个模块之前,我们需要创建一个文件为train.py,如何在这个文件中可以对数据进行导入、以及在训练数据上训练模型并在测试集上对其进行评估的基本程序,并且在对代码编辑的时候,需要导入包含在 options.py 文件中的 train_options 函数 。后一个文件是一个 Python 文件,我们可以从中更改 train.py 中考虑的超参数,代码如下:
import argparsedef train_options(): parser = argparse.ArgumentParser() parser.add_argument("--normalize", default=True, type=bool, help='maximum depth') parser.add_argument("--n_estimators", default=100, type=int, help='number of estimators') parser.add_argument("--max_features", default=6, type=int, help='maximum of features',) parser.add_argument("--max_depth", default=5, type=int,help='maximum depth') opt = parser.parse_args()return opt2、使用json文件
可以使用和前面一样的操作,就可以使文件的结构继续保持类似的 。首先将使用到的options.py 替换成为一个JSON文件先,用另外一种方式就是说在一个JSON文件中指定一个超参数的值并且将它们传递给之前的train.py文件 。和argparse模块相比较的话,使用JSON文件可以是一种快速且直观的替代方案,它利用键值对来存储数据 。下面我们创建一个options.json文件,其中包含我们稍后需要传递给其他代码的数据 。代码如下:
{"normalize":true,"n_estimators":200,"max_features":8,"max_depth":6 }通过代码可以看到,它的格式是和字典非常相似的 。
3、使用YAML文件
这是最后一种解析的方式使用的是yaml,使用它来操作其实和json文件差不多,使用之前我们先要将Python代码中的yaml进行转换,转换成一个字典如然后对数据进行读取,这样就可以去访问超参数的值 。因为YAML 文件使用的是一种可以直接读取的数据语言,所与在结构上使用的是两个空格字符表示 。
【Python解析参数的方法有哪些?Python解析参数的三种方法分别是什么?】以上就是关于Python解析参数的方法有哪些?Python解析参数的三种方法分别是什么?的全部内容了,希望通过对这篇文章的学习,大家能掌握到更多的Python解析参数的知识 。
推荐阅读
- Python语言和go语言有什么不同?Python语言和go语言哪个更简单
- Python入门必备的知识点有哪些?Python入门学习编程的基础知识
- Python文件打开的访问模式有哪些?Python文件的三大访问方式
- Python如何将时间转为时间戳?Python时间戳怎么变为日期时间
- Mac误删自带的Python怎么恢复?Mac删除Python后如何恢复
- Python怎么写乘法表?Python实现九九乘法表的代码是什么
- Python脚本怎么写?Python脚本编写教程是什么
- Python脚本怎么在没有Python的环境运行?Python脚本如何单独运行
- Python脚本开头怎么写?Python脚本开头声明有哪些内容
- Python如何写入数据到sqlite?Python怎么向sqlite数据库中写数据