• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python命令行参数argv和argparse该如何使用

    概述

    运行python脚本时通过命令行方式传入运行参数通常有以下两种自建方式:

    下面详细说一下具体时使用

    argv

    # test_argv.py
    
    import sys
    
    args = sys.argv
    print(f'args = {args}')
    
    >>> output
    ➜ git:(master) python3 test_argv.py     
    args = ['test_argv.py']
    ➜ git:(master) ✗ python3 test_argv.py 1 2 3
    args = ['test_argv.py', '1', '2', '3']
    ➜ git:(master) ✗ python3 test_argv.py 1 2 3 'hello world !'
    args = ['test_argv.py', '1', '2', '3', 'hello world !']

    从上面可以看出,通过argv方法获取的结果:

    argparse

    argparse模块的功能较为丰富,其核心是通过add_argument方法自定义入参的:标志、格式、类型和范围等特性,常用如下:

    更多请参考: argparse

    实例

    test_argv.py

    import argparse
    
    # 初始化一个parser对象
    parser = argparse.ArgumentParser(description='test module of argparse')
    
    # 指定-n/--number的参数
    # 类型为int
    # help为简短地说明
    parser.add_argument(
      '-n', '--number', type=int,
      help='args of number'
    )
    
    # 指定-o/--output参数
    # 并限制类型为:['txt', 'csv', 'doc']
    parser.add_argument(
      '-o', '--output', type=str,
      choices=['txt', 'csv', 'doc'],
      help='output method'
    )
    
    # 指定-d/--default参数
    # 并限制类型为:['txt', 'csv', 'doc']
    parser.add_argument(
      '-d', '--default', type=int,
      choices=[_ for _ in range(1, 10)],
      default=5,
      help='default'
    )
    
    # 指定位置参数foo
    parser.add_argument('foo')
    
    args = parser.parse_args()
    print(f'args = {args}')
    
    # 获取指定参数
    print(
      f'number = {args.number}, type = {type(args.number)}\n'
      f'output = {args.output}, type = {type(args.output)}\n'
      f'default = {args.default}, type = {type(args.default)}\n'
      f'foo = {args.foo}, type = {type(args.foo)}'
    )

    output

    # -h - 打印help
    ➜ git:(master) ✗ python3 test_argv.py -h
    usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
              [-d {1,2,3,4,5,6,7,8,9}]
              foo
    
    test module of argparse
    
    positional arguments:
     foo
    
    optional arguments:
     -h, --help      show this help message and exit
     -n NUMBER, --number NUMBER
                args of number
     -o {txt,csv,doc}, --output {txt,csv,doc}
                output method
     -d {1,2,3,4,5,6,7,8,9}, --default {1,2,3,4,5,6,7,8,9}
                default
    # 不带参数运行,结果为None
    ➜ git:(master) ✗ python3 test_argv.py  
    args = Namespace(number=None, output=None)
    number = None
    output = None
    
    # 带参数运行
    ➜ git:(master) ✗ python3 test_argv.py -n 33 --output txt
    args = Namespace(number=33, output='txt')
    number = 33, type = class 'int'>
    output = txt, type = class 'str'>
    
    # 参数格式错误
    ➜ git:(master) ✗ python3 test_argv.py -n str     
    usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
    test_argv.py: error: argument -n/--number: invalid int value: 'str'
    ➜ git:(master) ✗ python3 test_argv.py -o excel    
    usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
    test_argv.py: error: argument -o/--output: invalid choice: 'excel' (choose from 'txt', 'csv', 'doc')
    
    # 默认参数 
    ➜ git:(master) ✗ python3 test_argv.py   
    args = Namespace(default=5, number=None, output=None)
    number = None, type = class 'NoneType'>
    output = None, type = class 'NoneType'>
    output = 5, type = class 'int'>

    以上就是Python命令行参数argv和argparse该如何使用的详细内容,更多关于Python命令行参数argv和argparse的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • 在ipython notebook中使用argparse方式
    • Python argparse模块使用方法解析
    • Python如何使用argparse模块处理命令行参数
    • python argparser的具体使用
    • Python参数解析模块sys、getopt、argparse使用与对比分析
    • Python的argparse库使用详解
    • Python解析命令行读取参数--argparse模块使用方法
    • Python包argparse模块常用方法
    上一篇:python 实现Requests发送带cookies的请求
    下一篇:利用Python批量识别电子账单数据的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python命令行参数argv和argparse该如何使用 Python,命令行,参数,argv,和,