首页 > 编程语言 >Python 标准库——argparse模块

Python 标准库——argparse模块

时间:2024-10-30 21:46:06浏览次数:6  
标签:__ argparse 命令行 Python args 参数 模块 解析

文章目录

前言

argparse 是 Python 标准库中的一个模块,用于编写用户友好的命令行接口。它允许你轻松地定义程序应该接受的命令行参数,并自动生成帮助和使用信息。你通常会使用 argparse.ArgumentParser 类来创建一个解析器对象,然后通过该对象的方法来添加参数和解析命令行输入。

一、主要作用

  • 定义命令行接口:通过ArgumentParser对象,你可以定义你的程序期望从命令行接收哪些参数(如文件名、选项标志、数值等)。
  • 生成帮助和使用信息:argparse会自动为你的程序生成帮助和使用信息,当用户输入不正确的参数或请求帮助时(通常是通过-h或–help选项),这些信息会被打印出来。
  • 解析命令行参数:当用户运行你的程序并提供命令行参数时,argparse会解析这些参数,并根据你定义的规则将它们转换为适当的数据类型(如字符串、整数等)。
  • 处理错误:如果用户提供了不正确的参数(如类型不匹配、缺少必需参数等),argparse会捕获这些错误,并打印出错误消息,而不是让你的程序崩溃。
  • 提供灵活的参数解析:argparse支持位置参数、可选参数(带或不带值)、互斥参数组、默认值和参数类型转换等高级功能。

二、基本步骤

1.导入模块

import argparse

2.创建解析器对象

parser = argparse.ArgumentParser(description="这是一个使用 argparse 的示例程序。")

使用 argparse.ArgumentParser() 来创建一个解析器对象。你可以传递一个描述字符串,该字符串将在帮助信息中显示。

3.添加参数

parser.add_argument('filename', type=str, help='输入文件的名称')  
parser.add_argument('--verbose', action='store_true', help='增加输出的详细程度')

使用 add_argument() 方法来添加你希望程序接受的命令行参数。你可以指定参数的类型、是否必需、默认值等。

4.解析参数

args = parser.parse_args()

使用 parse_args() 方法来解析命令行输入的参数。这将返回一个包含所有解析后的参数值的命名空间对象。

5.使用解析后的参数

print(f"文件名: {args.filename}")  
if args.verbose:  
    print("详细模式已启用")

现在你可以通过 args 对象来访问解析后的参数值。

6.编写主函数并调用

def main():  
    # 上述步骤 2-5 的代码  
    ...  

if __name__ == "__main__":  
    main()

通常,我们会将这些步骤放在一个名为 main() 的函数中,并在脚本的最后调用它,以确保当脚本作为主程序运行时才会执行这些代码。

三、函数示例

以下是一个完整的示例程序,它接受一个文件名和一个可选的详细模式标志,并打印文件的内容:

import argparse  
  
def main():  
    # 创建ArgumentParser对象  
    parser = argparse.ArgumentParser(description="读取文件并打印其内容,可选地增加详细输出。")  
      
    # 添加命令行参数  
    parser.add_argument('filename', type=str, help='要读取的文件名')  
    parser.add_argument('--verbose', action='store_true', help='增加详细输出')   
      
    # 解析命令行输入  
    args = parser.parse_args()  
      
    # 使用解析后的参数  
    try:  
        with open(args.filename, 'r') as file:  
            content = file.read()  
            print(content)  
            if args.verbose:  
                print(f"文件 {args.filename} 已成功读取并打印")  
    except FileNotFoundError:  
        print(f"错误: 文件 {args.filename} 未找到")  
  
# 检查脚本是否作为主程序运行  
if __name__ == "__main__":  
    main()

在这个例子中,我们已经定义了–verbose参数,这个选项是一个布尔标志(flag),当它被指定时,args.verbose会被设置为True,否则它不会出现在args对象中。当–verbose被指定时,您的脚本会打印一条额外的消息来确认文件已经被成功读取并打印。

标签:__,argparse,命令行,Python,args,参数,模块,解析
From: https://blog.csdn.net/2301_77698138/article/details/143312278

相关文章

  • D53【python 接口自动化学习】- python基础之模块与标准库
    day53自定义模块学习日期:20241030学习目标:模块与标准库--67自定义模块:如何编写一个完整功能?学习笔记:创建自定义模块自定义模块注意事项 自定义模块deffunc1():return'thisisafunction'classClass1(object):def__init__(self):print(......
  • 淘宝商家电话采集工具 批量导出淘宝天猫商家联系方式软件 Python使用教程
    分享作者:下去沉淀沉淀吧1030249563(v)以Python为例,下面是一个简单的教程,来介绍如何使用python语音进行淘宝天猫商家爬虫。首先,我们需要安装以下库:requests,beautifulsoup4。可以使用以下命令进行安装:pipinstallrequestspipinstallbeautifulsoup4接下来,我们需要导入这些......
  • argparse的基本用法
    目录前言一、代码示例二、三种给定形参的方式1.修改运行配置配置形参​编辑2.cmd给定形参给定形参3.pycharm终端给定形参三、获取argparse帮助信息前言argparse是Python标准库中的一个模块,用于解析命令行参数。它使得程序能够通过命令行接收输入,增强了程序的灵......
  • 理解Python中的变量
    引言在任何编程语言中,变量都是一个最基本的概念,它代表了一个用于存储和处理数据的预留内存位置。本教程将帮助你了解Python变量的基础知识,包括Python中变量的各种数据类型、变量的命名规则,以及数字和字符串类型变量的基本操作。变量的概念变量是程序中的实体,用于存储值......
  • Python包和模块
    Python包和模块当使用Python编程时,包(Packages)和模块(Modules)是两个关键的概念,它们有助于组织、管理和复用代码。1.模块(Modules)1.1什么是模块一个.py文件就是一个模块模块是含有一系列数据,函数,类等的程序作用把相关功能的函数等放在一起有利于管理,有利于多人合作开......
  • python+flask计算机毕业设计高校统战大数据云平台(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于高校统战大数据云平台的研究,现有研究多集中于一般的大数据云平台在高校管理中的应用,专门针对高校统战工作构建大数据云平台的研究......
  • 华为OD机试 E卷 2024|增强的strstr(Python)
    0、关于本专栏&刷题交流群本文收录于专栏【2024华为OD机试真题】,专栏共有上千道OD机试真题,包含详细解答思路、与四种代码实现(Python、Java、C++、JavaScript)。点击文末链接加入【华为OD机试交流qun】,和群友一起刷题备考。刷的越多,考试中遇到原题的概率就越大,永久、实时......
  • Python——查询IP地址地理位置与设备信息
    在这个数字化时代,IP地址不仅是设备与互联网通信的桥梁,它还蕴含着丰富的信息,比如地理位置、ISP(互联网服务提供商)和设备类型等。这些信息对于网络安全、用户行为分析以及个性化服务提供等方面都具有重要意义。本文将介绍一个Python脚本,它可以帮助用户查询指定IP地址的地理位置信......
  • 真香!Python十大文件操作整理,收藏起来以后有用!!
      精品专题:01.《C语言从不挂科到高绩点》课程详细笔记https://blog.csdn.net/yueyehuguang/category_12753294.html?spm=1001.2014.3001.548202.《SpringBoot详细教程》课程详细笔记https://blog.csdn.net/yueyehuguang/category_12789841.html?spm=1001.2014.3001.5482......
  • Python——点亮生活:励志名言生成器
    在这个快节奏、充满挑战的时代,我们每个人都可能在某个时刻感到迷茫或失去动力。在这些时刻,一句恰当的励志名言往往能够像一束光照亮我们的道路,给予我们继续前行的力量。本文将详细介绍如何使用Python编程语言来创建一个励志名言生成器,这不仅是一个编程实践的案例,也是一个能够......