您的位置:

Python sys argv:命令行参数解析

一、基本概念

Python中,sys.argv是一个存储命令行参数的列表。列表中的每一个元素都是一个字符串,代表一个命令行参数。sys.argv列表中的第一个元素是当前Python脚本的名称。通过使用sys.argv,我们可以向Python脚本传递参数并进行相应的处理。

二、sys.argv常见用法

使用sys.argv解析命令行参数的过程大致可以分为以下几个步骤:

1. 导入sys模块


import sys

2. 获取命令行参数列表

在Python中,可以使用sys.argv获取命令行参数列表。列表中的第一个元素是当前Python脚本的名称,第二个元素是第一个命令行参数,以此类推。具体使用方法示例:


import sys

# 输出命令行参数列表
print(sys.argv)

执行以上代码,假设脚本名为sysargv.py,命令行中执行的命令为:


python sysargv.py arg1 arg2 arg3

则输出结果为:


['sysargv.py', 'arg1', 'arg2', 'arg3']

3. 处理命令行参数

通过sys.argv获取到命令行参数列表后,我们可以通过对其进行一些处理达到我们想要的效果。

举例:查找字符串

假设有一个包含多行文本的文件file.txt,现在我们要查找文件中包含特定字符串的行(比如"test"),并将这些行输出到控制台。

代码实现如下:


import sys

# 获取文件名和查找的字符串
filename = sys.argv[1]
search_str = sys.argv[2]

# 打开文件进行查找
with open(filename) as f:
    for line in f:
        if search_str in line:
            print(line, end='')

在命令行中执行以下命令:


python search.py file.txt test

将会输出file.txt中包含"test"字符串的所有行。

三、小结

sys.argv是Python中常用的命令行参数解析工具,通过sys.argv我们可以向Python脚本传递命令行参数并进行相应的处理。熟练掌握sys.argv的使用能够提高 Python 脚本的灵活性,使其更加智能实用。