详解Python sys.argv使用方法
什么是sys.argv?
在Python中,sys.argv是Python解释器提供的一个命令行参数列表。它包含了命令行参数的所有参数。sys.argv至少包含一项,即当前程序的名称,其余项是用户传递的参数。
如何使用sys.argv?
使用sys.argv需要先导入sys模块,通过sys.argv获取用户传递的参数。以下是一个简单的示例:
import sys
# 输出sys.argv
print(sys.argv)
通过运行上面的代码,如果我们在命令行中执行以下命令:
python3 example.py arg1 arg2
将会输出以下内容:
['example.py', 'arg1', 'arg2']
示例代码中,sys.argv所包含的内容分别是:
- 第一项: example.py,表示当前程序的名称。
- 第二项: arg1,表示用户传递的第一个参数。
- 第三项: arg2,表示用户传递的第二个参数。
示例一:使用sys.argv实现简单的加法计算器
在接下来的示例中,我们将基于上述内容,使用sys.argv实现一个简单的加法计算器。
import sys
# 验证参数数量是否正确
if len(sys.argv) != 3:
print("参数数量错误,正确格式: python3 add.py arg1 arg2")
else:
arg1 = int(sys.argv[1])
arg2 = int(sys.argv[2])
sum = arg1 + arg2
print("arg1 + arg2 的结果是:", sum)
通过上述代码,我们实现了一个简单的加法计算器。如果我们在命令行执行以下命令:
python3 add.py 1 2
将会输出以下内容:
arg1 + arg2 的结果是: 3
示例二:批量重命名文件
在这个示例中,我将展示如何使用sys.argv批量重命名指定文件夹内的所有文件。
import os
import sys
# 验证参数数量是否正确
if len(sys.argv) != 3:
print("参数数量错误,正确格式: python3 rename.py path name")
else:
path = sys.argv[1]
name = sys.argv[2]
i = 1
# 遍历文件夹中的所有文件,并重命名
for filename in os.listdir(path):
# 只对文件进行重命名
if os.path.isfile(os.path.join(path, filename)):
# 把原文件名拼接上新的文件名,例如:文件1.txt -> name_1.txt
newname = name + "_" + str(i) + os.path.splitext(filename)[1]
os.rename(os.path.join(path, filename), os.path.join(path, newname))
i += 1
print("完成文件重命名!")
通过上述代码,我们实现了重命名文件的操作。可以通过执行以下命令进行测试:
python3 rename.py /Users/username/test_folder newname
该命令将会重命名test_folder文件夹下的所有文件,以newname_1、newname_2等格式进行重命名。
总结
通过本文,我们了解了sys.argv的基本用法,并实现了两个使用sys.argv的实例。对于一些需要通过命令行传递参数的应用,sys.argv是一个非常实用的工具。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python sys.argv使用方法 - Python技术站