Python sys.argv[] 参数详解与实战示例

苏见山
苏见山
发布时间:2026-10-14| 5人浏览过
原创

sys.argv是Python中用于获取命令行参数的核心列表。本文通过具体代码示例,详细解析sys.argv[0]代表脚本名、sys.argv[1:]获取后续参数的机制。文章包含保存运行、索引取值及切片遍历等多种实战场景,帮助开发者理解如何从程序外部传递并处理输入数据,适用于脚本自动化与工具开发场景。

sys.argv基本概念与结构

sys.argv本质上是一个连接程序与外部环境的桥梁,其核心在于“外部”二字。许多解释未能阐明这一点,导致理解困难。由于外部传入的参数可能包含多个值,sys.argv返回的是一个列表(list)。因此,可以通过方括号[]来提取列表中的特定元素。该列表的第一个元素始终为程序自身的文件名,随后的元素依次对应用户从命令行传入的具体参数。

sys.argv基础使用示例

以druid.py脚本为例,具体代码如下:


import sys
a = sys.argv[0]
print(a)

保存文件后执行运行,观察输出结果。

输出结果显示为test.py,这证实了sys.argv[0]指向的是当前执行的Python脚本文件本身。

接下来,我们将代码中的索引0修改为1,以获取第一个外部传入的参数:


import sys
a = sys.argv[1]
print(a)

再次运行程序,控制台输出了我们传入的具体参数值。这表明sys.argv[]的主要功能是捕获从命令行传入的用户输入。

获取全部命令行参数

进一步调整代码,尝试获取所有传入的参数:


import sys
a = sys.argv[1:]
print(a)

此时输出结果为['11', '22', '33', '44', '55'],展示了切片操作获取全部参数的效果。

总结而言,sys.argv是一个列表,其中包含用户从外部输入的各项参数。理解的关键在于明确这些参数是从程序外部传入的,而非代码内部定义。为了验证其功能,必须将代码保存为文件,并从命令行外部运行该程序,同时提供相应的参数。

结合len()处理参数

补充:Python中使用sys.argv读取命令行参数的另一种方式。


#!/usr/bin/python
 
import sys
 
print "Script Name:", sys.argv[0]

上述代码会打印出执行脚本的名称。结合len()函数,可以统计命令行输入了多少个参数。以下是利用len()函数遍历并打印所有输入参数的示例:


#!/usr/bin/python

import sys

n = len(sys.argv)
for i in range(1, n):
  print sys.argv[i]

总结

至此,关于Python中sys.argv[]用法的介绍已完成。如需了解更多相关Python sys.argv[]用法内容,请查阅本站过往文章或继续浏览后续相关文章。感谢大家的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。