getopt例子
(本例基于win7 + python3.4)
import getopt, sys
'''
getopt 模块专门用来处理命令行参数 函数
getopt(args, shortopts, longopts = []) 参数
args 一般是sys.argv[1:]
shortopts 短格式 (-)
longopts 长格式(--) 如:
options, args = getopt.getopt(sys.argv[1:], "hp:i:", ["help", "ip=", "port="]) 参数分析:
sys.argv[1:]
--- sys.argv[0] 第一个参数,是脚本文件名
--- sys.argv[1:] 第二个及后面的参数,是脚本文件运行所需的参数 "hp:i:"
短格式 (shortopts)
--- h 后面没有冒号:表示后面不带参数
--- p:和 i:后面有冒号表示后面需要参数 ["help", "ip=", "port="]
长格式 (longopts)
--- help后面没有等号=,表示后面不带参数
--- 其他两个有等号=,表示后面需要参数 options
返回值
--- 是个包含元祖的列表,每个元组是分析出来的格式信息,比如 [('-i','127.0.0.1'),('-p','80')] ; args
返回值
---是个列表,包含那些没有'-'或'--'的参数,比如:['hello','world','you'] 注意:定义命令行参数时,要先定义带'-'选项的参数,再定义没有'-'的参数 使用示例:
$ python test.py -i 127.0.0.1 -p 80 hello world you $ python test.py --ip=127.0.0.1 --port=80 hello world you
'''
def usage():
print('Usage:')
print(' -h --help')
print(' -i --ip')
print(' -p --port')
print('Example:')
print(' $ python test.py -i 127.0.0.1 -p 80 hello world')
print(' $ python test.py --ip=127.0.0.1 --port=80 hello world') try:
options, args = getopt.getopt(sys.argv[1:], "hp:i:", ["help", "ip=", "port="])
except getopt.GetoptError as err:
print('Error:')
print(' ', str(err))
usage()
sys.exit(2) for opt, value in options:
if opt in ("-h", "--help"):
usage()
elif opt in ("-i", "--ip"):
print('ip:', value)
elif opt in ("-p", "--port"):
print('port:', value) for value in args:
print(value)
【运行效果图】

getopt例子的更多相关文章
- 命令行参数解析:getopt,getopt_long
#include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); extern c ...
- php 命令行参数
getopt (PHP 4 >= 4.3.0, PHP 5, PHP 7) getopt — 从命令行参数列表中获取选项 说明 array getopt ( string $options [, ...
- getopt使用例子
getopt是linux下获取程序启动参数的函数 #include <unistd.h> int getopt(int argc, char * const argv[], ...
- getopt,getoptlong学习
getopt和getoptlong被用来解析命令行参数. 一.getopt #include <unistd.h> extern char *optarg; extern i ...
- [转]Python 命令行参数和getopt模块详解
FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...
- 【python】getopt使用
来源:http://blog.chinaunix.net/uid-21566578-id-438233.html 注意对比:[python]argparse模块 作者:limodou版权所有limod ...
- PHP函数getopt详解
短参数 它返回一个包含命令行参数的数组.比如,要获得-a -b 和-c的值,可以这么做: $arguments = getopt("a:b:c:"); 可以用下面的方式运行脚本(有 ...
- Python 命令行参数和getopt模块详解
有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...
- 在 Perl 中使用 Getopt::Long 模块来接收用户命令行参数
我们在linux常常用到一个程序需要加入参数,现在了解一下 perl 中的有关控制参数的模块 Getopt::Long ,比直接使用 @ARGV 的数组强大多了.我想大家知道在 Linux 中有的参数 ...
随机推荐
- 第六章 函数、谓词、CASE表达式 6-3 CASE表达式
一.什么是CASE表达式 CASE表达式是一种运算功能,意味着CASE表达式也是函数的一种. 它是SQL中数一数二的重要功能.必须好好学习掌握. CASE表达式是在区分情况时使用的,这种情况的区分 ...
- javascript版format函数,方便实现复杂字串连接
javascript版format函数,方便实现复杂字串连接 String.prototype.format = function () { var args = arguments; console ...
- 基于scrapyd爬虫发布总结
一.版本情况 python以丰富的三方类库取得了众多程序员的认可,但也因此带来了众多的类库版本问题,本文总结的内容是基于最新的类库版本. 1.scrapy版本:1.1.0 D:\python\Spid ...
- (转)Matlab增加块注释
1)方法一选中你要加注释的内容,然后选择工具菜单“text|comment”就可以了,如果要把注释变为语句,同样选中要转变的语句,然后用鼠标选择“text|uncomment”就可以了.用键盘的快捷键 ...
- 18年10月31日 NOIP模拟赛
T1.exercise 题解 数据很小直接模拟 代码 #include<iostream> #include<cstdio> #include<cmath> #in ...
- 4-3 R语言函数 mapply
#mapply(函数/函数名,数据,函数相关的函数) > list(rep(1,4),rep(2,3),rep(3,2),rep(4,1)) [[1]] [1] 1 1 1 1 [[2]] [1 ...
- oc消息转发:forwardInvocation、签名、参量个数、SEL 相关测试
结论1.签名的参量类型伪造不正确会导致崩溃. 结论二.签名个数不对可能会导致参量丢失. 结论三:在签名配置正确的情况下,系统会将函数调用的所有信息打包到NSInvocation准备转发: - (voi ...
- 微软YY公开课[《微软中国云计算Azure平台体验与新企业架构设计》 周六晚9点
YY频道是 52545291//@_勤_: YY账号真的是一次一账号啊! 全然记不得之前注冊的//@老徐FrankXuLei: 最火爆的微软免费公开课.第一次顶峰126人.第二次96人.第三次我们又来 ...
- beautifulsoup4-4.3.2的安装
下载地址:https://www.crummy.com/software/BeautifulSoup/bs4/download/4.5/ 安装成功,亲测可用! 参考文章http://blog.csdn ...
- Docker存储方式选型建议
转自:https://segmentfault.com/a/1190000007168476 第一部分 问题诊断 事情从一次实施项目说起,我们需要帮助客户将他们的应用容器化并在数人云平台上发布此应用. ...