python getopt模块使用方法
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模块使用方法的更多相关文章
- Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字
想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...
- Python getopt 模块
Python getopt 模块 getopt模块,是配合sys.argv使用的一个扩展.他可以接收终端的参数.格式扩展为“-n” 或 “--n”两种类型,下面是具体解释. 使用 improt get ...
- python import模块熟悉方法
python import导入的可用模块很多,新增速度较快,无法一次性全部掌握. 掌握熟悉一种模块的方法是非常有价值的技能. 探究模块可以从python解释器入手,具体流程记录如下: 以os模块为例: ...
- python 常用模块及方法
******************** PY核心模块方法 ******************** os模块: os.remove() 删除文件 os.unlink() ...
- python 主要模块和方法
******************** PY核心模块方法 ******************** os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename ...
- python自定义模块导入方法,文件夹,包的区别
python模块导入,网上介绍的资料很多,方法也众说纷纭.根据自己的实践,感觉这个方法最简单直接,而且可以与主流的python ide生成的工程是一样的. 规则只有三条 1. 严格区分包和文 ...
- python导入模块的方法
先看代码: import time #利用import print "how", time.sleep(2) #sleep()方法前面必须得有导入模块的名字time print & ...
- Python MySQLdb 模块使用方法
import MySQLdb 2.和数据库建立连接 conn=MySQLdb.connect(host="localhost",user="root",pass ...
- python之模块导入方法总结
模块在python编程中的地位举足轻重,熟练运用模块可以大大减少代码量,以最少的代码实现复杂的功能. 下面介绍一下在python编程中如何导入模块: (1)import 模块名:直接导入,这里导入模块 ...
随机推荐
- AtCoder Beginner Contest 071 ABCD
1001 求个绝对值比较大小喽 1002 把字符串出现的字母记录一下,然后遍历a-z,谁第一个没出现就输出谁 1003 Problem Statement We have N sticks with ...
- Net Core构建Angular4应用程序
在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序 前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1 ...
- Maven--setting详解
settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径. settings.xml文件是干什么的,为什么要配置它呢? ...
- 《springcloud 三》分布式配置中心
Git环境搭建 使用码云环境搭建git服务器端 码云环境地址:https://gitee.com/majie2018 服务端详解 项目名称:springboot2.0-config_server Ma ...
- h5点击区域和实际区域对不上
点击区域和实际区域对不上 然后点击后触发的其实是上面的区域,会导致事件触发错误
- MVC下载文件方式 包括网络地址文件
MVC下载文件方式 方式一: public FileStreamResult DownFile(string filePath, string fileName){ string absol ...
- pixhawk 固件Firmware内执行make px4fmu-v2_default 编译报错解决办法
执行下列指令报错 make px4fmu-v2_default /bin/sh: 1: Tools/check_cmake.sh: Permission denied Makefile:44: Not ...
- jquery实现的导航栏切换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 织梦修改文档HTML默认保存路径
\data\config.cache.inc.php $cfg_arcdir = '/a'; 改为 $cfg_arcdir = '/';
- linux下设置SSH无密码登录
ssh配置 主机A:10.0.5.199 主机B:10.0.5.198 需要配置主机A无密码登录主机A,主机B 先确保所有主机的防火墙处于关闭状态. 在主机A上执行如下: 1. $cd ~/.ssh ...