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

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

参数args一般是sys.argv[1:],shortopts 短格式 (-), longopts 长格式(--)

命令行中输入:

# python test.py -i 127.0.0.1 -p 80 55 66
# python test.py --ip=127.0.0.1 --port=80 55 66

下面的代码:

#!/usr/bin/python

import getopt
import sys def usage():
print ' -h help \n' \
' -i ip address\n' \
' -p port number\n' \
'' if __name__ == '__main__':
try:
options, args = getopt.getopt(sys.argv[1:], "hp:i:", ['help', "ip=", "port="])
for name, value in options:
if name in ('-h', '--help'):
usage()
elif name in ('-i', '--ip'):
print value
elif name in ('-p', '--port'):
print value
except getopt.GetoptError:
usage()

命令:

options,args = getopt.getopt(sys.argv[1:],"hp:i:",["help","ip=","port="])

“hp:i:”短格式

h 后面没有冒号:表示后面不带参数,p:和 i:后面有冒号表示后面需要参数

["help","ip=","port="]长格式

help后面没有等号=,表示后面不带参数,其他三个有=,表示后面需要参数

返回值 options 是个包含元祖的列表,每个元祖是分析出来的格式信息,比如 [('-i','127.0.0.1'),('-p','80')] ;

args 是个列表,包含那些没有‘-’或‘--’的参数,比如:['55','66']

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

来自:http://www.ttlsa.com/python/python-getopt-command-args/

【转】getopt模块,实现获取命令行参数的更多相关文章

  1. 【Python学习 】Python获取命令行参数的方法

    背景 最近编写一个python程序的时候,需要去获取python命令行的参数,因此这里记录下如何获取命令行参数的方法. 一.sys 模块 在 Python 中,sys 模块是一个非常常用且十分重要的模 ...

  2. python获取命令行参数的方法(汇总)

    介绍python获取命令行参数的方法:getopt模和argparse模块. python版本:2.7 一.getopt模块 主要用到了模块中的函数: options, args = getopt.g ...

  3. 【WPF】如何获取命令行参数

    应用程序以 Main 方法为入口点,如果为 Main 方法指定一个 string[] 类型的参数,在程序运行时,这个参数会获取到传递给应用程序的命令行参数. 而 WPF 应用程序比较特殊,因为在VS中 ...

  4. 从Win32程序中的主函数中获取命令行参数

    在标准C或者Win32控制台程序的main函数中,它们都有两个参数:"argc" 和 "argv",如下所示: int main(int argc, char ...

  5. golang获取命令行参数

    部署golang项目时难免要通过命令行来设置一些参数,那么在golang中如何操作命令行参数呢?可以使用os库和flag库. 1.golang os库获取命令行参数 os可以通过变量Args来获取命令 ...

  6. MFC中获取命令行参数的几种方法

    在MFC程序中,可以用以下几种方法来获取命令行参数. 为方便说明,我们假设执行了命令:C:\test\app.exe -1 -2 方法一 ::GetCommandLine(); 将获取到 " ...

  7. go语言基础之获取命令行参数

    1.获取命令行参数 示例: package main //必须 import "fmt" import "os" func main() { list := o ...

  8. [GO]获取命令行参数

    package main import ( "os" "fmt" ) func main() { list := os.Args n := len(list) ...

  9. python获取命令行参数

    python获取命令行参数 主要是通过sys的argv列表来获取命令行内容,命令行的参数以空格分隔放到argv列表中. import sys if __name__ == "__main__ ...

  10. C程序获取命令行参数

    命令行参数 命令行界面中,可执行文件可以在键入命令的同一行中获取参数用于具体的执行命令.无论是Python.Java还是C等等,这些语言都能够获取命令行参数(Command-line argument ...

随机推荐

  1. SOUI中TaskLoop组件介绍

    SOUI是一套开源(MIT协议)的Windows平台下的DirectUI框架,它提供了大量的高效控件,也提供了很多扩展组件,目前已经持续维护近10年,在大量的项目中证明稳定可靠. GIT地址: 国内: ...

  2. linux swap空间的swappiness=0

    linux 会使用硬盘的一部分做为SWAP分区,用来进行进程调度--进程是正在运行的程序--把当前不用的进程调成‘等待(standby)‘,甚至‘睡眠(sleep)’,一旦要用,再调成‘活动(acti ...

  3. 工作流——activiti

    1.导入依赖 <!-- activiti工作流 --> <dependency> <groupId>org.activiti</groupId> < ...

  4. Android- APP 秒开

    Android- APP 秒开 1. 启动APP 时白屏或者黑屏 现象:当启动APP 时,会有一个白屏或者黑屏一闪而过,然后才会显示出主界面. 这是因为,我们新打开一个应用,系统会为这个应用创建一个进 ...

  5. Unity Bolt插件 基本使用

    1.Bolt的安装和配置 导入插件后可以看到 设置命名方式,左侧:普通人,右侧: 程序员 设置变量类型(可以手动添加自己自定义的类型) 然后点击生成,等待bolt编译生成. 2.创建一个流程并使用 如 ...

  6. 意识科学初步:David Chalmers的简单问题与困难问题

    这是第一篇关于意识科学的内容.主要谈一下阅读大卫查莫斯的几篇论文的一些观点和思考. 论文作者简介(摘自wiki): David John Chalmers (born 20 April 1966) i ...

  7. spring-cloud-Zuul学习(一)【基础篇】--入门案例【重新定义spring cloud实践】

                                                                                                    -- 2 ...

  8. vue 组件传值

    父组件传值给子组件 <list v-show="listLen" :listdata="list" :tipMsg="tipMsg" ...

  9. Spring Security 整合freemaker 实现简单登录和角色控制

    Spring Security 整合freemaker 实现简单登录和角色控制     写这篇文章是因为我做了一个电商网站项目,近期刚加上权限控制.整个过程很简单,在此给大家梳理一下,也算是自己对知识 ...

  10. 梯度提升决策树(GBDT)

    1.提升树 以决策树为基函数的提升方法称为提升树.决策树可以分为分类树和回归树.提升树模型可以表示为决策树的加法模型. 针对不同的问题的提升术算法的主要区别就是损失函数的不同,对于回归问题我们选用平方 ...