sys模块获取单纯的参数

python demo.py a b c

$ cat demo.py
#-*- coding: UTF-8 -*-
import os
import sysdef demo():print sys.argvprint len(sys.argv)for i in range(len(sys.argv)):print "parameter %s --- %s" %(i, sys.argv[i])if __name__ == "__main__":demo() $ python demo.py a b c
['demo.py', 'a', 'b', 'c']
4
parameter 0 --- demo.py
parameter 1 --- a
parameter 2 --- b
parameter 3 --- c

getopt模块可以捕捉选项和参数

主要是这个接口
options, args = getopt.getopt(args, shortopts, longopts=[])

第一个参数args:一般是sys.argv[1:]。过滤掉sys.argv[0],它是执行脚本的名字,不算做命令行参数。
第二个参数shortopts:短格式分析串。例如:“hp:i:”,h后面没有冒号,表示后面不带参数;p和i后面带有冒号,表示后面带参数。
第三个参数longopts:长格式分析串列表。例如:[“help”, “ip=”, “port=”],help后面没有等号,表示后面不带参数;ip和port后面带冒号,表示后面带参数。

而返回值options是以元组为元素的列表,每个元组的形式为:(选项串, 附加参数),如:(’-i’, ‘192.168.0.1’)
[(’-a’, ‘A’), (’–apple’, ‘A’), (’-b’, ‘B’), (’–banana’, ‘B’), (’-h’, ‘’)]

返回值args是个列表,其中的元素是那些不含’-‘或’–'的参数。

在命令行运行下述命令:
python test_getopt.py -i 192.168.0.1 -p 80 123 a
或着
python test_getopt.py -ip=192.168.0.1 --port=80 123 a


#encoding=utf-8import getopt
import sysdef main(argv):try:options, args = getopt.getopt(argv, "hp:i:", ["help", "ip=", "port="])except getopt.GetoptError:sys.exit()for option, value in options:if option in ("-h", "--help"):print("help")if option in ("-i", "--ip"):print("ip is: {0}".format(value))if option in ("-p", "--port"):print("port is: {0}".format(value))print("error args: {0}".format(args))if __name__ == '__main__':main(sys.argv[1:])

打印如下:

使python脚本在运行时可以附带参数的方法相关推荐

  1. 以下选项中使python脚本程序转变为_以下选项中使python脚本程序转变为可执行程序的第三方库的是:...

    [多选题]拉式市场的供应链系统就是以客户为导向进行( ). [单选题]五行关系中"见肝之病,知肝传脾"是指 [单选题]已知立体的主视图和俯视图,正确的左视图是(         ) ...

  2. 记一次rc.local中python脚本无法运行的解决过程

    记一次rc.local中python脚本无法运行的解决过程 问题记录: 解决过程: 1. 检查/etc/rc.local的权限 2. 看运行出错日志 3. 修改文件不重启啊(用户切换到root了,我再 ...

  3. Linux环境python脚本后台运行

    python 脚本后台运行 在服务器端一直运行一个Python脚本,当然就想到了在命令后面加&符号,代码如下: $ python /data/python/server.py >pyth ...

  4. python脚本开头怎么写_浅谈Python脚本开头及导包注释自动添加方法

    浅谈Python脚本开头及导包注释自动添加方法 1.开头:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定 #!/usr/bin/python 是用来 ...

  5. 普通exe文件、Python脚本、.Net项目写进win系统服务方法总结

    运行程序写进win系统服务方法 0.sc介绍 SC 是用来与服务控制管理器和服务进行通信的命令行程序,可以利用该命令对win服务进行管理操作.注:sc的操作都需要管理员的权限 C:\Users\joh ...

  6. python 打包exe_打包python脚本为exe的坎坷经历, by pyinstaller方法

    打包python脚本为exe的坎坷经历, by pyinstaller方法 又应验了那句歌词. 不经历风雨, 怎么见得了彩虹. 安装过程略去不提, 仅提示: pip install pyinstall ...

  7. python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法

    主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达!联系我们 部分文章发布时间较久远,可能存在未知因素 ...

  8. java -jar vm参数_java相关:运行jar程序时添加vm参数的方法

    java相关:运行jar程序时添加vm参数的方法 发布于 2020-3-15| 复制链接 下面小妖就为大家带来一篇运行jar程序时添加vm参数的方法.小妖觉得挺不错的,现在就分享给大家,也给大家做个参 ...

  9. 网络变压器的检测设备(5):检测单个元件时选择组合参数的方法

    Hqst盈盛(华强盛)电子导读:上一个节点给大家分享了网络变压器的检测设备HP4263B型LCR测量仪微型计算机使用微型计算机用V.I.θ数据计算用户选择组合参数的注意事项,接下来再给大家来介绍:惠普 ...

最新文章

  1. Docker(一):Docker核心技术预览
  2. 网易 for linux,NetEaseMusic
  3. Angular基础(五) 内建指令和表单
  4. LaTeX设置长公式的跨页显示
  5. Flutter 是移动应用程序开发的未来?
  6. bzoj 1605: [Usaco2008 Open]Crisis on the Farm 牧场危机(DP)
  7. 解决打印机共享提示:你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问
  8. PMP课程笔记:第1-3章 引论 项目运行环境 项目经理
  9. 使用谷歌浏览器出现插件未就绪以及CLodop云打印服务(localhost本地)未安装启动!请下载安装包!
  10. 开发,要谋定而后动。
  11. JS,CSS是前端,JAVA PHP ASP是后端,数据库是后端的处理对象,非代表前后底
  12. 什么叫做股票实时行情接口api?
  13. IT行业岗位薪资大调查:收入最高的职位是什么?
  14. EXCEL 如何删除重复值,并保留重复值的第一个选项
  15. sencha touch 相机,相册调用
  16. 下拉菜单Spinner用法
  17. NYOJ-71 独木舟上的旅行
  18. 个人网站如何转型为商业网站
  19. Selenium 设置代理chrome
  20. Android中的Gradle之配置及构建优化

热门文章

  1. 企业防病毒体系建设的探讨
  2. GNU LGPL协议
  3. greendao连接mysql_Android数据存储框架GreenDao 3.0使用详解
  4. JavaEE进阶——全文检索之Lucene框架
  5. python求梅森尼数_梅森尼数
  6. numpy IO 关于.npy文件
  7. 如何利用 SOTER ,1 个版本内完成指纹支付开发?
  8. HACK彩虹易支付超完整源码+内附11个模板
  9. 命令行退出python方法
  10. ttf-dejavu fontconfig字体