zoukankan      html  css  js  c++  java
  • flags

    1. flags可以帮助我们通过命令行来动态的更改代码中的参数

    test_absl.py :

    from absl import app, flags, logging
    
    import sys
    
    #设置参数,第一个是参数名称,第二个是参数默认值,无默认值可取None,第三个是参数解释
    flags.DEFINE_string('str_1', 'hello', 'Input a string.')
    flags.DEFINE_string('str_2', 'world', 'Input a string.')
    flags.DEFINE_integer('num_1', 0, 'Input a integer.')
    flags.DEFINE_integer('num_2', 0, 'Input a integer.')
    
    FLAGS = flags.FLAGS
    
    def main(argv=()):
        # del argv
        # version = sys.version_info
        # logging.info('Running under Python {0[0]}.{0[1]}.{0[2]}'.format(version))
    
        str3 = FLAGS.str_1 + FLAGS.str_2
        print(str3)
    
        c = FLAGS.num_1 * FLAGS.num_2
        print(c)
    
    # 如果当前是从其它模块调用的该模块程序,则不会运行main函数!
    # 而如果就是直接运行的该模块程序,则会运行main函数。
    if __name__ == '__main__':
        # flags.mark_flag_as_required('str_1')
        # flags.mark_flag_as_required('str_2')
        # flags.mark_flag_as_required('num_1')
        # flags.mark_flag_as_required('num_2')
        # 执行程序中main函数,并解析命令行参数!
        app.run(main)

    命令行:

    python test_absl.py -help

    output:

    USAGE: test_absl.py [flags]
    flags:
    
    test_absl.py:
      --num_1: Input a integer.
        (default: '0')
        (an integer)
      --num_2: Input a integer.
        (default: '0')
        (an integer)
      --str_1: Input a string.
        (default: 'hello')
      --str_2: Input a string.
        (default: 'world')

    命令行:

    python test absl.py

    output:

    helloworld
    0
  • 相关阅读:
    Spring笔记:常用xml标签和属性 山上下了雪
    Spring笔记:Hello World 山上下了雪
    Spring笔记:bean的自动装配 山上下了雪
    IntelliJ IDEA 2020.3.3 x64破解到2099年
    每日长进计划
    idea测试类中的测试方法没有运行按钮
    删除所有的phpfpm进程命令
    高质量编程
    单例模式也能玩出花
    宝塔Linux面板安装命令
  • 原文地址:https://www.cnblogs.com/eleni/p/15608962.html
Copyright © 2011-2022 走看看