Python使用getopt处理命令行操作

来源:互联网 发布:网页js代码 编辑:程序博客网 时间:2024/06/05 18:14
python 调用getopt示例:

# --*-- encoding:UTF-8 --*--import sysimport getopt# $ ./getopt_demo.py -a xxxx -b xxx -c --help  lalalala# print(sys.argv)opts,args = getopt.getopt(sys.argv[1:], "a:b:c", ["help", "filename="])# 输出返回print(opts)print(args)

先看下代码执行结果:

D:\pystudy\atom-py>python getopt_demo.py -a xxxx -b xxx -c --help --filename='a.txt'  lalalala[('-a', 'xxxx'), ('-b', 'xxx'), ('-c', ''), ('--help', ''), ('--filename', "'a.txt'")]['lalalala']

然后看下getopt这个函数的原型

def getopt(args, shortopts, longopts = [])

这里面会接收三个参数

args:是从命令行接收到的参数。一般回事sys.argv[1:],因为命令行的第一个参数是脚本的文件名;

shortopts:这个是所处理参数的短格式。

# 短格式以一个英文字母作为一个操作,使用时在字母前加一个-# 字母后面带有:表示该操作需要接收参数,使用的时候操作符和参数之间可以不加空格,也可以加# 如果操作不需要参数,可以多个操作放在一起使用"a:bc"

longopts:是可选参数

# 长格式是以一个单词标识一个操作,使用时在单词前面加上两个-# 单词后面加=表示操作需要接收参数,使用时应在操作和参数之间加上=    比如: --filename=a.txt["help", "filename="]

这个函数会返回两个结果

opts:就是操作的控制字符和参数的元组

args:就是没有操作的参数


0 0