使python脚本在运行时可以附带参数的方法
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脚本在运行时可以附带参数的方法相关推荐
- 以下选项中使python脚本程序转变为_以下选项中使python脚本程序转变为可执行程序的第三方库的是:...
[多选题]拉式市场的供应链系统就是以客户为导向进行( ). [单选题]五行关系中"见肝之病,知肝传脾"是指 [单选题]已知立体的主视图和俯视图,正确的左视图是( ) ...
- 记一次rc.local中python脚本无法运行的解决过程
记一次rc.local中python脚本无法运行的解决过程 问题记录: 解决过程: 1. 检查/etc/rc.local的权限 2. 看运行出错日志 3. 修改文件不重启啊(用户切换到root了,我再 ...
- Linux环境python脚本后台运行
python 脚本后台运行 在服务器端一直运行一个Python脚本,当然就想到了在命令后面加&符号,代码如下: $ python /data/python/server.py >pyth ...
- python脚本开头怎么写_浅谈Python脚本开头及导包注释自动添加方法
浅谈Python脚本开头及导包注释自动添加方法 1.开头:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定 #!/usr/bin/python 是用来 ...
- 普通exe文件、Python脚本、.Net项目写进win系统服务方法总结
运行程序写进win系统服务方法 0.sc介绍 SC 是用来与服务控制管理器和服务进行通信的命令行程序,可以利用该命令对win服务进行管理操作.注:sc的操作都需要管理员的权限 C:\Users\joh ...
- python 打包exe_打包python脚本为exe的坎坷经历, by pyinstaller方法
打包python脚本为exe的坎坷经历, by pyinstaller方法 又应验了那句歌词. 不经历风雨, 怎么见得了彩虹. 安装过程略去不提, 仅提示: pip install pyinstall ...
- python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法
主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达!联系我们 部分文章发布时间较久远,可能存在未知因素 ...
- java -jar vm参数_java相关:运行jar程序时添加vm参数的方法
java相关:运行jar程序时添加vm参数的方法 发布于 2020-3-15| 复制链接 下面小妖就为大家带来一篇运行jar程序时添加vm参数的方法.小妖觉得挺不错的,现在就分享给大家,也给大家做个参 ...
- 网络变压器的检测设备(5):检测单个元件时选择组合参数的方法
Hqst盈盛(华强盛)电子导读:上一个节点给大家分享了网络变压器的检测设备HP4263B型LCR测量仪微型计算机使用微型计算机用V.I.θ数据计算用户选择组合参数的注意事项,接下来再给大家来介绍:惠普 ...
最新文章
- Docker(一):Docker核心技术预览
- 网易 for linux,NetEaseMusic
- Angular基础(五) 内建指令和表单
- LaTeX设置长公式的跨页显示
- Flutter 是移动应用程序开发的未来?
- bzoj 1605: [Usaco2008 Open]Crisis on the Farm 牧场危机(DP)
- 解决打印机共享提示:你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问
- PMP课程笔记:第1-3章 引论 项目运行环境 项目经理
- 使用谷歌浏览器出现插件未就绪以及CLodop云打印服务(localhost本地)未安装启动!请下载安装包!
- 开发,要谋定而后动。
- JS,CSS是前端,JAVA PHP ASP是后端,数据库是后端的处理对象,非代表前后底
- 什么叫做股票实时行情接口api?
- IT行业岗位薪资大调查:收入最高的职位是什么?
- EXCEL 如何删除重复值,并保留重复值的第一个选项
- sencha touch 相机,相册调用
- 下拉菜单Spinner用法
- NYOJ-71 独木舟上的旅行
- 个人网站如何转型为商业网站
- Selenium 设置代理chrome
- Android中的Gradle之配置及构建优化