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

yipeiwu_com5年前Python基础

在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
这两个函数的功能差不多

相关文章

Pandas+Matplotlib 箱式图异常值分析示例

我就废话不多说了,直接上代码吧! # -*- coding: utf-8 -*- import pandas as pd import matplotlib.pyplot as...

在Django的URLconf中进行函数导入的方法

看下这个 URLconf: from django.conf.urls.defaults import * from mysite.views import hello, curre...

解决pandas 作图无法显示中文的问题

解决pandas 作图无法显示中文的问题

最近开始使用 pandas 处理可视化数据,挖掘信息。但是在作图时遇到,无法显示中文的问题。 下面这段代码是统计 fujian1.csv 文件中 City 所在列中各个城市出现次数的代码...

Python+OpenCV采集本地摄像头的视频

Python+OpenCV采集本地摄像头的视频

本文实现了用Python和OpenCV配合,调用本地摄像头采集视频,基本上函数的话看opencv的官方文档就Ok了(The OpenCV Reference Manual  R...

使用Python快乐学数学Github万星神器Manim简介

使用Python快乐学数学Github万星神器Manim简介

高考在即,笔者想为孩子以后能够快乐学习数学、学习编程找到一个比较合适的项目,经过一番比较发现github上的万星项目manim(https://github.com/3b1b/manim...