python——argv(argument vector)
目录
- python——argv(argument vector)
- 场景
argv 通常指的是命令行参数列表,特别是在 Python 中,它是通过 sys.argv 获取的。在程序运行时,用户可以通过命令行传递参数,argv 则用于捕获这些参数。
在 Python 中,sys.argv 是一个列表,包含传递给脚本的命令行参数。
- 列表的第一个元素(sys.argv[0])是脚本本身的名字。
- 从第二个元素开始(即 sys.argv[1]),是用户在命令行(terminal)中传入的实际参数。
import sys# 打印所有命令行参数
print("Arguments:", sys.argv)# 打印第一个命令行参数
if len(sys.argv) > 1:print("First argument:", sys.argv[1])
else:print("No arguments provided")
假设有一个名为 example.py 的脚本,内容如上所示。你可以在命令行中传递参数运行该脚本:
$ python example.py hello world
输出
Arguments: ['example.py', 'hello', 'world']
First argument: hello
场景
argv 通常用于处理从命令行传递的参数,比如脚本运行时传入文件名、选项或其他数据。常见的应用场景包括:
指定输入或输出文件。
向程序传递配置选项。
在脚本运行时灵活处理不同的输入。
例如,一个接受文件名作为参数并读取文件内容的程序:
import sys # 导入 sys 模块,用于访问命令行参数# 检查传递给脚本的命令行参数数量
if len(sys.argv) < 2: # 如果没有传递参数,打印使用提示信息并退出程序print("Usage: python example.py <filename>")sys.exit(1) # 退出程序,返回状态码 1 表示发生错误# 将传入的第一个参数(文件名)存储到 filename 变量中
filename = sys.argv[1] # sys.argv[0] 是脚本名,sys.argv[1] 是第一个用户提供的参数# 使用文件名打开文件并读取其内容
with open(filename, 'r') as file: # 以只读模式打开文件content = file.read() # 读取文件的所有内容到 content 变量中print(content) # 打印文件内容