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


    转载:https://www.zhangshengrong.com/p/P71Mb9KVad/

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

  • 相关阅读:
    [LeetCode] Meeting Rooms I & II
    [LeetCode] Graph Valid Tree
    [LeetCode] Palindrome Permutation I & II
    [LeetCode] Encode and Decode Strings
    [LeetCode] Paint Fence
    android 发送短信功能
    andrioid 分享到其它(短信,qq,微信等功能)
    android Dialog实例
    android开发之onCreate( )方法详解
    android edittext属性说明
  • 原文地址:https://www.cnblogs.com/demo-lv/p/12673007.html
Copyright © 2020-2023  润新知