python getopt-第二个返回的列表是什么?

问题描述

我正在学习getops,但我不了解这种结构:

opts,argv = getopt.getopt(argv,"s:e:",["start_date=","end_date="])

我只是尝试打印opts和argv进行调试。第一个变量-opts是所用参数的键值对列表及其值,这对我来说很容易理解,但是我完全不理解“ argv”变量的用途。原始文档说:

第二个是选项列表之后剩余的程序参数列表 被剥离(这是尾部的args)。

因此,当我像这样运行脚本时:python --argument AAA ggg argv变量将存储带有一个元素“ ggg”的列表,但是为什么呢?您能给我用例吗?

解决方法

用于位置参数。通常,它们用于引用某种输入或输出的文件名。

假设您正在编写文本编辑器,则可以说所有位置参数都指向要在编辑器中打开的文件。

顺便说一句,我不建议使用getoptargparsegetopt做的所有事情,但是做得更好,并允许您做getopt做不到的事情。 Python文档与我一致:

getopt模块是命令行选项的解析器,其API设计为C getopt()函数的用户熟悉。不熟悉C getopt()函数或希望编写更少代码并获得更好帮助和错误消息的用户,应考虑改用argparse模块。 (source

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...