当前位置: 首页 > 编程笔记 >

python命令行解析之parse_known_args()函数和parse_args()使用区别介绍

严瀚昂
2023-03-14
本文向大家介绍python命令行解析之parse_known_args()函数和parse_args()使用区别介绍,包括了python命令行解析之parse_known_args()函数和parse_args()使用区别介绍的使用技巧和注意事项,需要的朋友参考一下

python中,命令行解析的很好用,

首先导入命令行解析模块

import argparse
import sys

然后创建对象

parse=argparse.ArgumentParser()

然后增加命令行

parse.add_argument("--learning_rate",type=float,default=0.01,help="initial learining rate")
parse.add_argument("--max_steps",type=int,default=2000,help="max")
parse.add_argument("--hidden1",type=int,default=100,help="hidden1")

对于函数add_argumen()第一个是选项,第二个是数据类型,第三个默认值,第四个是help命令时的说明
然后用arg=parse.parse_args(sys.argv[1:])

其中参数sys.argv[1:]是命令行语句中从第一个到最后。如在ubuntu下输入命令行python gg.py --learning_rate 20 --max_steps 10

则sys.argv[1:0]=--learning_rate 20 --max_steps 10

输出的arg为namespace空间,结果是Namespace(hidden1=100, learning_rate=20.0, max_steps=10)
但是parse_known_args()函数输出结果为

te 20 --max_steps 10
20.0
10
100

程序:

import argparse
import sys

parse=argparse.ArgumentParser()
parse.add_argument("--learning_rate",type=float,default=0.01,help="initial learining rate")
parse.add_argument("--max_steps",type=int,default=2000,help="max")
parse.add_argument("--hidden1",type=int,default=100,help="hidden1")
flags,unparsed=parse.parse_known_args(sys.argv[1:])
print flags.learning_rate
print flags.max_steps
print flags.hidden1
print unparsed

输出结果:
20.0
10
100
[]

程序:
20.0
10
100
这两个函数的功能差不多

 类似资料:
  • 本文向大家介绍Python函数__new__及__init__作用及区别解析,包括了Python函数__new__及__init__作用及区别解析的使用技巧和注意事项,需要的朋友参考一下 【同】   二者均是Python面向对象语言中的函数,__new__比较少用,__init__则用的比较多。 【异】 __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例对象,是个静态方

  • 本文向大家介绍grep和fgrep命令之间的区别,包括了grep和fgrep命令之间的区别的使用技巧和注意事项,需要的朋友参考一下 在任何语言或框架中,最重要和主要的功能之一就是搜索数据。它不仅表示语言的性能,还表示存储数据的方式。因此,特别是如果我们以LINUX操作系统为例,则有两个重要的命令,即grep和fgrep。 这两个命令都用于搜索文件,目录甚至多个文件夹中的任何字符串或正则表达式。这两

  • 本文向大家介绍python 如何利用argparse解析命令行参数,包括了python 如何利用argparse解析命令行参数的使用技巧和注意事项,需要的朋友参考一下 命令行参数工具是我们非常常用的工具,比如当我们做实验希望调节参数的时候,如果参数都是通过硬编码写在代码当中的话,我们每次修改参数都需要修改对应的代码和逻辑显然这不太方便。比较好的办法就是把必要的参数设置成通过命令行传入的形式,这样我

  • 本文向大家介绍Linux中多命令执行';'和'&&'的区别解释,包括了Linux中多命令执行';'和'&&'的区别解释的使用技巧和注意事项,需要的朋友参考一下 前言 在Linux运维过程中或者日常Linux系统操作过程中会同时执行多条命令,这样的话需要通过我们的多重命令方式进行处理。多命令执行包括';'和'&&'命令,这样shell就可以一次执行多个命令,每个命令之间可用';'和'&&'隔开。 那

  • 本文向大家介绍Python使用Matlab命令过程解析,包括了Python使用Matlab命令过程解析的使用技巧和注意事项,需要的朋友参考一下 为了在python中使用matlab命令,也就是import numpy as np 和 import matplotlib.pyplot as plt这两个命令能运行,需要在cmd命令窗口输入 pip install matplotlib,要不然出现 i

  • 我一直试图理解command:和command:-在我的docker组合文件中的区别: 我在这里错过了什么?