Python使用getopt处理命令行操作

Posted 小喽啰A

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python使用getopt处理命令行操作相关的知识,希望对你有一定的参考价值。

python 调用getopt示例:

# --*-- encoding:UTF-8 --*--
import sys
import 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:就是没有操作的参数


以上是关于Python使用getopt处理命令行操作的主要内容,如果未能解决你的问题,请参考以下文章

Python 命令行参数和getopt模块详解

Python 命令行工具辅助getopt使用解析!

Python 命令行工具辅助getopt使用解析!

Python 命令行参数和getopt模块详解

python getopt使用

使用 getopts 处理长短命令行选项