getopt模块是专门处理命令行参数的模块,用于获取命令行选项和参数。命令行选项使程序参数更加灵活,支持短格式命令模式(-)和长格式命令模式(--)。

import getopt
import sysdef help_msg():print('*' * 40)print('-h or --help= 指定server的ip地址')print('-p or --port= 指定server的连接port')print('*' * 40)def main():options, args = getopt.getopt(sys.argv[1:], 'h:p:', ['port=', 'host=', 'help'])print(options)print(args)for name, value in options:if name in ('--help',):help_msg()if name in ('-h', '--host'):print("value: {0}".format(value))if name in ('-p', '--port'):print("value: {0}".format(value))if __name__ == '__main__':main()

执行命令,查看帮助信息

python .\demo02.py --help

输出信息如下

[('--help', '')]
[]
****************************************
-h or --help= 指定server的ip地址
-p or --port= 指定server的连接port
****************************************

执行命令,传递参数

python .\demo02.py -h 192.168.1.222 -p 443

或者

python .\demo02.py --host=192.168.1.222 --port=443

结果如下:

[('-h', '192.168.1.202'), ('-p', '443')]
[]
value: 192.168.1.202
value: 443

这里可以看到args参数一直为空,args是个列表,其中的元素是那些不含'-'或'--'的参数

python .\demo02.py -h 192.168.1.202 -p 443 args1 args2 args2

输出结果

[('-h', '192.168.1.202'), ('-p', '443')]
['args1', 'args2', 'args2']
value: 192.168.1.202
value: 443

参考:

python中getopt模块是什么-Python学习网

import sys
import getoptdef main(argv):input_file = ""output_file = ""# "hi:o:": 短格式分析串, h 后面没有冒号, 表示后面不带参数; i 和 o 后面带有冒号, 表示后面带参数# ["help", "input_file=", "output_file="]: 长格式分析串列表, help后面没有等号, 表示后面不带参数; input_file和output_file后面带冒号, 表示后面带参数# 返回值包括 `opts` 和 `args`, opts 是以元组为元素的列表, 每个元组的形式为: (选项, 附加参数),如: ('-i', 'test.png');# args是个列表,其中的元素是那些不含'-'或'--'的参数opts, args = getopt.getopt(argv[1:], "hi:o:", ["help", "input_file=", "output_file="])for opt, arg in opts:if opt in ("-h", "--help"):print('script_2.py -i <input_file> -o <output_file>')print('or: test_arg.py --input_file=<input_file> --output_file=<output_file>')sys.exit()elif opt in ("-i", "--input_file"):input_file = argelif opt in ("-o", "--output_file"):output_file = argprint('输入文件为:', input_file)print('输出文件为:', output_file)# 打印不含'-'或'--'的参数for i in range(0, len(args)):print('不含'-'或'--'的参数 %s 为:%s' % (i + 1, args[i]))if __name__ == "__main__":main(sys.argv)

python getopt模块相关推荐

  1. python getopt模块_python之getopt模块使用

    实用方向: 处理命令行参数的一个方法,简单好用. 方法: getopt模块总共有2个函数,分别为: getopt.getopt getopt.gnu_getopt 简单使用: getopt这个函数常用 ...

  2. [python]getopt模块的使用介绍

    目录 1.引入模块 2.添加处理方法 3.分析输入参数 4.实例 1.引入模块 import getopt, sys 2.添加处理方法 try:opts, args = getopt.getopt(s ...

  3. python getopt模块_python里argparse模块和getopt模块的区别

    展开全部 argparse是用于脚本带参数使用的,假设你有如下脚本名为prog.py,内容如下:e69da5e6ba9062616964757a686964616f31333363363464impo ...

  4. python getopt.getopt_python 参数格式化getopt

    命令行参数格式化需要python  getopt模块: 1.python 命令行参数格式化 写道 try: options,args = getopt.getopt(sys.argv[1:],&quo ...

  5. [转]Python 命令行参数和getopt模块详解

    FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...

  6. python 命令行参数处理 getopt模块详解

    有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...

  7. python中getopt函数_python getopt模块使用方法

    python中 getopt 模块,是专门用来处理命令行参数的 getop标准格式: 函数getopt(args, shortopts, longopts = []) shortopts 是短参数   ...

  8. python getopt

    1.使用getopt模块处理Unix模式的命令行选项: getopt模块用于抽出命令行选项和参数,也就是sys.argv.命令行选项使得程序的参数更加灵活.支持短选项模式和长选项模式. e.g. py ...

  9. [转]python各模块的学习

    [-] 01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 ...

最新文章

  1. 55.npm install 报错 :stack Error: Can't find Python executable python
  2. 通过电脑给继电器发送指令_三菱FX PLC学习之通信指令(上)
  3. failed to allocate 192.19M (201523200 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY: out of memory
  4. MySQL 基础 ———— 存储过程与函数
  5. python数据显示为什么只能显示最后一个变量,Python变量和简单数据类型,之,的
  6. linux每个版本发布时间,Ubuntu 21.04各版本的发布时间公布和计划功能介绍
  7. log4j.properties配置
  8. redis:set数据类型和操作
  9. 刀剑神域服务器维护到什么时候,刀剑神域黑衣剑士王牌维护结束时间 服务器维护进不去怎么办...
  10. 最新大润发优鲜小程序逆向分析
  11. 带参数的sigmoid
  12. 经典的面试题如果不通过其他任何变量实现两个数值类型的变量互相更换值。...
  13. qt5 下载 及 qtcreator集成msvc2017 x64
  14. 先码后看 Spring源码解析 侵立删
  15. Linux 学习课堂笔记1
  16. 【BZOJ1491】[NOI2007]社交网络 Floyd
  17. abap语言去除重复项怎么写
  18. 字和词语联合训练的词向量模型
  19. Greenplum 实时数据仓库实践(8)——事实表技术
  20. 幼儿使用计算机亮度,选儿童护眼灯小心被广告忽悠,亮度值并非越高越好!

热门文章

  1. 高通沈劲:高通创投受到季节变化影响最小,2019年将会投入更多
  2. Mysql通过ibd恢复误删表数据
  3. CIO把老板“拖”到信息化中的“三板斧”
  4. Vue系列之插槽(slot)详解
  5. SSM整合(Spring、SpringMVC、MyBatis、Thymeleaf)
  6. 白话科普:如何训练ChatGPT,能用它来挣钱吗?【P.S. 今晚19:30,说透ChatGPT】
  7. stm32f103读取at9s乐迪航模遥控器控制c620电调和m3508电机(can版本)
  8. 火影推荐程序连载16-聊聊前端监控——错误监控篇
  9. 程序员,我在北上广寻找生活的感觉
  10. unity怪物攻击玩家减血_unity3d学习笔记(七)利用单例脚本实现英雄与怪物的攻击与受击...