首先导入:

import getopt, sys

getopt的使用:只用一行就可以得到所有传入的参数:

opts, args = getopt.getopt(sys.argv[1:], '短参数', ["长参数"])

参数

参数分为短参数与长参数

  • 短参数:如-v,特点是前面有一个横线-短参数,后面加一个字母;如下面的-a input1就是短参数 值;也可以只有参数没有值,如-c-d
  • 长参数:如--help,特点是前面有两个横线--长参数,后面加一个字符串

getopt解析参数

getopt解析命令行时:

  • 短参数:使用参数:(注意这个冒号),来匹配需要传参的参数与值,而没有传值的参数不需要写冒号:
  • 长参数:使用参数=来匹配需要传参的参数与值,没有传参的参数不需要写等号=

所以getopt获得参数也按照这个格式,示例:

如果期待运行的命令是:python my_program.py -a input1 -b input2 -c -d --param_a input3 --param_b,那么解析的函数就是:

import getopt, sysopts, args = getopt.getopt(sys.argv[1:], 'a:b:cd', ["param_a=","param_b"])

示例代码

import getopt, sysopts, args = getopt.getopt(sys.argv[1:], 'a:b:cd', ["param_a=", "param_b"])
print("已匹配的参数:", opts)
print("未知参数:", args)
for op in opts:print("参数:", op[0], " 值:", op[1])

打印的结果是:

已匹配的参数: [('-a', 'input1'), ('-b', 'input2'), ('-c', ''), ('-d', ''), ('--param_a', 'input3'), ('--param_b', '')]
未知参数: []
参数: -a  值: input1
参数: -b  值: input2
参数: -c  值:
参数: -d  值:
参数: --param_a  值: input3
参数: --param_b  值:

python获取命令行参数,使用getopt获取命令行执行时指定的参数相关推荐

  1. python定义接口的关键字_使用*args和**kws指定关键字参数

    带有默认值的函数参数仍然是位置参数,因此您看到的结果是正确的.为参数指定默认值时,您不是在创建关键字参数.当参数不是由函数调用提供时,只使用默认值.在>>> def some_fun ...

  2. Django视图层:嵌套参数,URLconf在查找什么?指定视图参数的默认值、include()路由转发三种方式、传递额外选项给 include()、传递额外选项给视图

    一.视图层The view layer Django 具有 "视图" 的概念,负责处理用户的请求并返回响应. 二.嵌套参数Nested arguments 正则表达式允许嵌套参数, ...

  3. python 读取csv带表头_python读csv文件时指定行为表头或无表头的方法

    pd.read_csv()方法中header参数,默认为0,标签为0(即第1行)的行为表头.若设置为-1,则无表头.示例如下: (1)不设置header参数(默认)时: df1 = pd.read_c ...

  4. bootstrapinput传参数_bootstrap-fileinput组件在上传时传递额外参数 Web程序 - 贪吃蛇学院-专业IT技术平台...

    解决方法 关键的配置参数是uploadExtraData 具体的代码如下: //获得额外参数的方法 fodderType = function() { return $("#fodderTy ...

  5. html文件上传添加额外参数,bootstrap-fileinput组件在上传时传递额外参数

    解决方法 关键的配置参数是uploadExtraData 具体的代码如下: //获得额外参数的方法 fodderType = function() { return $("#fodderTy ...

  6. python 打印执行命令的参数_python之获取命令行参数

    1. getopt模块: getopt模块用于抽出命令行选项和参数,也就是sys.argv.命令行选项使得程序的参数更加灵活.支持短选项模式和长选项模式. 1) 主要函数:getopt(args, s ...

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

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

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

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

  9. python中处理命令行参数命令getopt

    转自 http://andylin02.iteye.com/blog/845355 os下有个方法walk,非常的好用,用来生成一个generator.每次可以得到一个三元tupple,其中第一个为起 ...

最新文章

  1. 已知子网掩码如何计算IP地址中的主机位
  2. SharedPreferences的工具类,使用起来方便、快捷
  3. MySQL性能调优 读写分离
  4. pycharm如何查找程序项目中所有断点?
  5. netty系列之:Event、Handler和Pipeline
  6. Java多线程4:synchronized锁机制
  7. java 反编译项目_Java 7 –反编译项目硬币
  8. JavaScript玩转机器学习:​​​​​​​训练模型
  9. IntelliJ IDEA15,PhpStorm10,WebStorm11激活破解
  10. 《显微镜下的大明》马伯庸2019年1月新书mobi、epub、PDF资源共享
  11. mac java开发如何_Macbook适合Java开发吗?
  12. 书籍精品Android篇,拿好赶紧收藏
  13. 打开计算机文件反应慢怎么解决方法,电脑反应慢怎么办?常见原因与解决办法...
  14. esp32 cam 内网穿透 视频传输
  15. 2019在职跨考南大计算机非全日制专硕-初试364经验帖
  16. window.open 在Safari中被拦截
  17. 掌握这些Revit常见术语,从此BIM建模再无压力
  18. ERP编制物料清单 基础
  19. 国密算法的EKEY的使用
  20. win10环境下AndroidStudio输入法光标不跟随解决办法

热门文章

  1. JDBC是什么?和JDBC程序的基本编写
  2. java 限流熔断_SpringCloud Alibaba微服务实战五 - 限流熔断
  3. Vue中ESlint配置文件eslintrc.js文件详解
  4. C语言cJSON库的使用,解析json数据格式
  5. android onSaveInstance方法项目中的实践
  6. 黑客高手是这样上网的!Vimer是如何用快捷键浏览网页的?
  7. [MySQL]SQL
  8. parallels desktop
  9. 【解决】Vsftp匿名上传问题
  10. [转]设定version 更新js缓存