Python+getopt实现命令行带参数
2018-01-26 15:07
671 查看
转自http://www.ttlsa.com/python/python-getopt-command-args/
python中 getopt 模块,该模块是专门用来处理命令行参数的
函数getopt(args, shortopts, longopts = [])
参数args一般是sys.argv[1:],shortopts 短格式 (-), longopts 长格式(–)
命令行中输入:
代码
“hp:i:”短格式
h 后面没有冒号:表示后面不带参数,p:和 i:后面有冒号表示后面需要参数
[“help”,”ip=”,”port=”]长格式
help后面没有等号=,表示后面不带参数,其他三个有=,表示后面需要参数
返回值 options 是个包含元祖的列表,每个元祖是分析出来的格式信息,比如 [(‘-i’,’127.0.0.1’),(‘-p’,’80’)] ;
args 是个列表,包含那些没有‘-’或‘–’的参数,比如:[‘55’,’66’]
注意:定义命令行参数时,要先定义带’-‘选项的参数,再定义没有‘-’的参数
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()
“hp:i:”短格式
h 后面没有冒号:表示后面不带参数,p:和 i:后面有冒号表示后面需要参数
[“help”,”ip=”,”port=”]长格式
help后面没有等号=,表示后面不带参数,其他三个有=,表示后面需要参数
返回值 options 是个包含元祖的列表,每个元祖是分析出来的格式信息,比如 [(‘-i’,’127.0.0.1’),(‘-p’,’80’)] ;
args 是个列表,包含那些没有‘-’或‘–’的参数,比如:[‘55’,’66’]
注意:定义命令行参数时,要先定义带’-‘选项的参数,再定义没有‘-’的参数
相关文章推荐
- python_getopt解析命令行输入参数的使用
- python_getopt解析命令行输入参数的使用
- python采用getopt解析命令行输入参数实例
- python_getopt解析命令行输入参数的使用
- python采用getopt解析命令行输入参数实例
- python_getopt解析命令行输入参数的使用
- linux 中用python实现终端命令行命令
- python flask 服务器端实现接口,post,get 方式,参数获取方法
- Linux解析命令行选项参数getopt和getopt_long
- python 之 分割参数getopt
- python命令行选项和参数分割
- Python实现获取命令行输出结果的方法
- 【python】python读取命令行选项参数
- python、ipython的安装以及命令行自动补全功能实现
- python 之 分割参数getopt
- Python实现接受任意个数参数的函数
- python 之 分割参数getopt
- getopt解析命令行选项参数
- getopt_long()解析命令行选项参数
- 使用 Python 实现命令行词典(一)