目录[-]

一、利用argparse模块实现脚本命令行参数解析

import argparse

# 创建 ArgumentParser 对象
parser = argparse.ArgumentParser(description='这是一个示例程序')

# 添加需要解析的命令行参数
parser.add_argument('-f', '--file', help='指定输入文件名')
parser.add_argument('-o', '--output', help='指定输出文件名')
parser.add_argument('-v', '--verbose', action='store_true', help='打开详细信息显示')

# 解析命令行参数
args = parser.parse_args()

# 获取解析后的参数值
input_file = args.file
output_file = args.output
is_debugging = args.verbose

print("输入文件名:", input_file)
print("输出文件名:", output_file)

# 根据传递的参数进行相应操作
if args.file and args.output:
    # 如果同时提供了 -f/--file 和 -o/--output 参数,则执行特定操作
    print("正在处理文件...")
elif args.verbose:
    # 如果只提供了 -v/--verbose 参数,则执行其他操作
    print("已打开详细信息显示")
else:
    # 否则默认情况下执行其他操作
    print("没有提供任何参数或者不支持该组合")

运行结果:

1.获取参数含义

2.只有输入文件

3.输入文件名和输出文件名

4.查看详细信息

二、利用sys模块实现脚本命令行参数解析

import sys

# 通过 sys.argv[0] 获取当前脚本文件名(包括路径)
script_name = sys.argv[0]
print("脚本文件名:", script_name)

# 通过 len(sys.argv) - 1 获取除去脚本文件名外的参数个数
argc = len(sys.argv) - 1
print("参数个数:", argc)

# 遍历所有参数并打印输出
for i in range(1, argc + 1):
    print("第{}个参数:".format(i), sys.argv[i])

运行测试:

1.不输入任何参数

2.输入一个参数

3.输入多个参数