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 中有的参数 ...
随机推荐
- cent7中kickstart
一.基本环境 操作系统:CentOS7.4 内核版本:3.10.0-862.11.6.el7.x86_64 二.组件部署 yum安装tftp tftpd-server xinetd http dhcp ...
- python文本文件处理和用户输入
#用户输入 a = input('please input: ') #这个输入什么即是什么,比如输入1,则a变量=1,输入'abc',则a变量 = 'abc',输入abc则报错,因为会把abc当做一个 ...
- EXC_BAD_ACCESS错误
EXC_BAD_ACCESS错误 一直都是使用ARC开发,咋就莫名其妙的出现这种EXC_BAD_ACCESS错误. 一直都是是怀疑在block中有着特殊处理,导致了使用时出现了这种错误,查找了好久.. ...
- Word、rss、HTML解析等dll
RSS.NET.dll RSS.NET是一款操作RSS feeds的开源.NET类库.它为解析和编写RSS feeds提供了一个可重用的对象模型.它完全兼容RSS 0.90, 0.91, 0.92, ...
- Python简单实现多级菜单
# -*- coding: utf-8 -*- # @Time : 2018-06-01 13:40 # @Author : 超人 # @Email : huxiaojiu111@gmail.com ...
- ECharts 定制 label 样式
起因 实现对 label 的样式定制,自定义字体颜色.大小等属性:效果如下图 实现 itemStyle: { normal: { color: '#f7ba0e', label: { ...
- BZOJ 2330 糖果 差分约束求最小值
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2330 题目大意: 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果 ...
- hdu2102
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u014303647/article/details/27705195 题目链接: pid=2102& ...
- PhotoSwipe-一个好用的图片放大缩小插件
通过GitHub 下载PhotoSwipe https://github.com/dimsemenov/PhotoSwipe 相关的库 <link rel="stylesheet&qu ...
- transfer function
线性变化后,往往希望进行非线性变化,常用的非线性变化函数有Sigmoid,Tanh,ReLU.会发现,经过这三个函数变化后,Tensor的维度并不发生变化. tanh(双曲正切函数):