Python 命令行参数详解

本文详细介绍了Python中处理命令行参数的三种方法:sys.argv、getopt和argparse。sys.argv提供基本的参数访问,getopt模块用于解析选项和参数,而argparse模块则提供了更强大的命令行参数处理能力,包括自动生成帮助和错误信息。
摘要由CSDN通过智能技术生成

Python 命令行参数详解

0. 命令行参数

通常,对于大型项目程序而言,执行程序的一个必要的步骤是正确处理命令行参数,这些命令行参数是提供给包含某种参数化信息的程序或脚本的参数。例如,在计算机视觉项目中,图像和不同类型的文件通常作为命令行参数传递给脚本,用于使程序可以处理不同图片或者不同类型文件。
命令行参数是参数化程序执行的一种常见且简单的方法,下面主要介绍三种常见的获取和解析命令行参数的方法。

1. sys.argv

为了处理命令行参数,Python 中内置了 sys.argv 模块,通过模块中的 sys.argv 就可以访问到所有的命令行参数,它的返回值是包含所有命令行参数的列表 (list)。当程序执行时,Python 从命令行获取所有值并将它们存储在 sys.argv 列表中。列表的第一个元素 sys.argv[0] 是脚本的完整路径(或脚本名称——取决于具体操作系统)。列表的第二个元素是脚本的第一个命令行参数,即 sys.argv[1],依此类推。这可以通过下图中清晰的看出,其中 script_1.py 脚本使用两个参数执行:

sys.argv
接下来,让我们看看 sys.argv 是如何工作的,首先编写 scripy_1.py 脚本:

import sys
print("正在运行的脚本名称: '{}'".format(sys.argv[0]))
print("脚本的参数数量: '{}'".format(len(sys.argv)))
print("脚本的参数: '{}'".format(str(sys.argv)))

如果我们不使用任何参数执行这个脚本:

python script_1.py

将会看到如下信息:

正在运行的脚本名称: 'script_1.py'
脚本的参数数量: '1'
脚本的参数: '['script_1.py']'

如果我们使用多个参数执行此脚本:

python script_1.py OpenCV -i test.png

将得到以下信息:

正在运行的脚本名称: 'script_1.py'
脚本的参数数量: '4'
脚本的参数: '['script_1.py'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值