python中 getopt 模块,是专门用来处理命令行参数的

getop标准格式:

函数getopt(args, shortopts, longopts = [])

shortopts 是短参数    类似于这样:python test.py -h # 输出帮助信息
 
longopts 是长参数   类似于这样:python test.py --help # 输出帮助信息

args指的是当前脚本接收的参数,它是一个列表,可以通过sys.argv获得,在Python里的命令行参数是存储在sys.argv里,argv是一个列表,第一个元素是程序名称。
示例:

#test.py
# -*- coding:utf- -*-
import sys if __name__ == '__main__':
for item in sys.argv:
print i

在命令行运行./test.py  1 2 3,结果如下:

test.py

下面写一个getop常用格式示例:

代码:

#test.py 
import getopt
import sys
try:
options,args = getopt.getopt(sys.argv[:],"hp:i:",["help","ip=","port="])
except getopt.GetoptError:
sys.exit()
print ("options:",options)
print("args:",args) for name,value in options:
if name in ("-h","--help"):
print ("help:正确的使用方法是.......")
if name in ("-i","--ip"):
print ('ip 是:',value)
if name in ("-p","--port"):
print ('port 端口是:',value)

命令行中输入:

python test.py -h --ip=192.168.0.1 -p 80  a1 a2

运行结果为:

 options: [('-h', ''), ('--ip', '192.168.0.1'), ('-p', '80')]
args: ['a1', 'a2']
help:正确的使用方法是.......
ip 是: 192.168.0.1
port 端口是: 80

解析:

sys.argv[1:]      过滤掉第一个参数(它是执行脚本的名字,不应算作参数的一部分)。

“hp:i:”               短格式, h 后面没有冒号:表示后面不带参数,p:和 i:后面有冒号表示后面需要参数

["help","ip=","port="]     长格式, help后面没有等号=,表示后面不带参数,ip、port后面有=,表示后面需要参数
options 是个包含元组的列表,每个元组是分析出来的格式信息
args 是个列表,包含那些没有‘-’或‘--’的参数

注意:定义命令行参数时,要先定义带'-'选项的参数,再定义没有‘-’的参数

python getopt模块使用方法的更多相关文章

  1. Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字

    想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...

  2. Python getopt 模块

    Python getopt 模块 getopt模块,是配合sys.argv使用的一个扩展.他可以接收终端的参数.格式扩展为“-n” 或 “--n”两种类型,下面是具体解释. 使用 improt get ...

  3. python import模块熟悉方法

    python import导入的可用模块很多,新增速度较快,无法一次性全部掌握. 掌握熟悉一种模块的方法是非常有价值的技能. 探究模块可以从python解释器入手,具体流程记录如下: 以os模块为例: ...

  4. python 常用模块及方法

    ******************** PY核心模块方法 ******************** os模块: os.remove()         删除文件 os.unlink()        ...

  5. python 主要模块和方法

    ******************** PY核心模块方法 ******************** os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename ...

  6. python自定义模块导入方法,文件夹,包的区别

    python模块导入,网上介绍的资料很多,方法也众说纷纭.根据自己的实践,感觉这个方法最简单直接,而且可以与主流的python ide生成的工程是一样的. 规则只有三条 1.      严格区分包和文 ...

  7. python导入模块的方法

    先看代码: import time #利用import print "how", time.sleep(2) #sleep()方法前面必须得有导入模块的名字time print & ...

  8. Python MySQLdb 模块使用方法

    import MySQLdb 2.和数据库建立连接 conn=MySQLdb.connect(host="localhost",user="root",pass ...

  9. python之模块导入方法总结

    模块在python编程中的地位举足轻重,熟练运用模块可以大大减少代码量,以最少的代码实现复杂的功能. 下面介绍一下在python编程中如何导入模块: (1)import 模块名:直接导入,这里导入模块 ...

随机推荐

  1. net core分块上传文件

    net core分块上传文件   写完asp.net多文件上传(http://www.cnblogs.com/bestckk/p/5987383.html)后,感觉这种上传还是有很多缺陷,于是...( ...

  2. Apache Atlas是什么?

    不多说,直接上干货! Apache Atlas是Hadoop社区为解决Hadoop生态系统的元数据治理问题而产生的开源项目,它为Hadoop集群提供了包括数据分类.集中策略引擎.数据血缘.安全和生命周 ...

  3. fiddler手机抓包,支持前端代码调试

    手机用fiddler抓包 电脑最好是笔记本,这样能和手机保持统一局域网内:其他不多说,直接说步骤了. 一.对PC(笔记本)参数进行配置    1. 配置fiddler允许监听到https(fiddle ...

  4. 老生常谈Java虚拟机垃圾回收机制(必看篇)

    二.垃圾收集 垃圾收集主要是针对堆和方法区进行. 程序计数器.虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收. 判断一 ...

  5. 洛谷 CF1148A Another One Bites The Dust

    Another One Bites The Dust CF的题目在你谷上难度虚高似乎已成常态 不过这道题相比于愚人节的那几道相对好得多,没有被评成紫题. 这道题题面意思比较清楚,就是对于给定数量的'a ...

  6. html页面和jsp页面的区别

    html页面: html页面是静态页面,可以使用html+css+js实现页面的各种效果,单纯使用html布局出来的页面是设定好的页面,可以使用本地浏览器打开.同时搭配使用ajax实现数据交互效果的页 ...

  7. 帝国empirecms数据库数据表详细说明

    表名   解释 phome_ecms_infoclass_news 新闻采集规则记录表 phome_ecms_infotmp_news 采集临时表 phome_ecms_news 新闻主数据记录表 p ...

  8. GIT SSH免登录密码实现更新(git pull)、推送(git push)操作

     一.使用场景 现在有两台服务器A和B,在A服务器上搭建有git版本代码仓库,现要实现B服务器SSH免密码登录A服务器,并能够从A服务器拉取.推送代码! 二.操作步骤 1.在B服务器项目根目录下执行以 ...

  9. C#中Image类与byte[]之间的转换

    //将image转化为二进制 public byte[] GetByteImage(Image img) { byte[] bt = null; if (!img.Equals(null)) { us ...

  10. Web端 页面跳转 页面传值

    要把  Default.aspx 页面    TextBox1中的值    传值到   Default.aspx   Label上去 C#服务端跳转页面 Response    响应请求对象 Redi ...