Python 3 – 命令行参数
Python 提供了一个 getopt 模块来帮助你解析命令行选项和参数。
Python 的 sys 模块通过 sys.argv 提供对任何命令行参数的访问。它有两个目的:
- sys.argv 是命令行参数列表。
-
len(sys.argv) 是命令行参数的数量。
这里的 sys.argv[0] 是程序即脚本名。
例子
考虑以下脚本 test.py –
现在按以下方式运行上述脚本 –
这将产生以下结果 –
注意 - 如上所述,第一个参数始终是脚本名,并且也计算在参数的数量中。
解析命令行参数
Python 提供了一个 getopt 模块来帮助你解析命令行选项和参数。该模块提供两个函数和一个异常来启用命令行参数解析。
getopt.getopt 方法
此方法解析命令行选项和参数列表。以下是此方法的简单语法 –
这里是参数的详细信息 –
- args − 要解析的参数列表。
-
options − 这是脚本想要识别的选项字母字符串,需要参数的选项应该在冒号(:)后跟随。
-
long_options − 这是一个可选参数,如果指定,则必须是具有应受支持的长选项名称的字符串列表。需要参数的长选项应该在等号(’=’)后面跟随。要仅接受长选项,选项应为空字符串。
-
此方法返回一个由两个元素组成的值 – 第一个是(选项,值)对的列表,第二个是剥离选项列表后剩余的程序参数列表。
-
返回的每个选项和值对都有其第一个元素作为选项,短选项为连字符(例如,’-x’),长选项为双连字符(例如,’–long-option’)。
异常 getopt.GetoptError
当在参数列表中找到一个无法识别的选项或当给定需要参数的选项时未给出任何选项时,会引发此异常。
异常的参数是一个指示错误原因的字符串。属性 msg 和 opt 给出错误消息和相关选项。
例子
假设我们想通过命令行传递两个文件名,并且我们还想提供一个选项来检查脚本的使用情况。脚本的用法如下 –
下面是用于测试.py的以下脚本 –
输出
现在,按以下方式运行上述脚本 −