目录[-]
一、利用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.输入多个参数