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 中有的参数 ...
随机推荐
- 第四章 数据更新 4-1 数据的插入(INSERT 语句的使用方法)
一.什么是INSERT 用来插入数据的SQL就是INSERT语句. 二.INSERT 语句的基本语法. 列清单 值清单 列清单和值清单的列数必须保持一致,如果不一致会出错. 原则上,执行一次I ...
- python基础_类型_tuple
#tuple 元祖,这个没什么特别的,和list差不多,不能删除,不能增加元素,其他功能差不多 #元祖用圆括号扩起来,逗号分隔 a = ('a','b','c') #这玩意一般会用来排除重复,还是很好 ...
- ARC下的block导致的循环引用问题解析
ARC下的block导致的循环引用问题解析 更详细细节请参考 http://blog.sina.com.cn/s/blog_8c87ba3b0101m599.html ARC下,copy到堆上的blo ...
- 设计可以多选的按钮ChooseManyButton
设计可以多选的按钮ChooseManyButton 效果: 源码: ChooseManyButton.h 与 ChooseManyButton.m // // ChooseManyButton.h / ...
- Python下操作sqlite3
import sqlite3 dbpath = 'C:\\Django\\workplace\\sf\\d1.sqlite3' conn = sqlite3.connect(dbpath) cu = ...
- web.config设置之system.webServer 详细介绍,为网站设置默认文档
如何:为 IIS 7.0 配置 <system.webServer> 节2008-06-14 22:26http://technet.microsoft.com/zh-cn/sysinte ...
- 张高兴的 Windows 10 IoT 开发笔记:FM 电台模块 KT0803L
This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#. GitHub:https://github.co ...
- Paxos算法简单陈述
上文二段式和三段式提交协议是相对比较容易理解的.1990年Leslie Lamport 提出的Paxos算法是一种基于消息传递且具有高度容错特性的一致性算法.但是Paxos算法比较复杂,对于不能沉心学 ...
- 如何使用jackson美化输出json/xml
如何使用jackson美化输出json/xml 1.美化POJO序列化xml 下面将POJO列化为xml并打印. Person person = new Person(); //设置person属性 ...
- openstack常用的一些命令
查看rabbitmq 队列 rabbitmqctl list_queues 复制代码 查看keystone的用户 keystone user-list 复制代码 查看keystone endpoint ...