《Python实例》基础之argparse,提供一个友好的接口说明,老大说我做的真好

简介: python经常是作为脚本在使用,在大部分的时候我们写的脚本都要给其他人使用,参数的调用常规的情况下需要提供说明文档,说明每个参数是怎么使用的,但是如果是给同组内的程序同学使用,大都不愿意写文档,对于我们程序同学来说写代码更简单,再说源码都给你了要什么文档。

c7d12dc77a6943dd99aac361f2959733~tplv-k3u1fbpfcp-zoom-crop-mark_1304_1304_1304_734.webp.jpg

这是我参与8月更文挑战的第2天**,活动详情查看:8月更文挑战**


python经常是作为脚本在使用,在大部分的时候我们写的脚本都要给其他人使用,参数的调用常规的情况下需要提供说明文档,说明每个参数是怎么使用的,但是如果是给同组内的程序同学使用,大都不愿意写文档,对于我们程序同学来说写代码更简单,再说源码都给你了要什么文档。


提供文档太费时,又写不好,不提供文档吧又不太又好,今天在python中发现了一个参数解析器,完美的解决这个问题,今天讲一下参数解析器的使用,好了,废话蛮多了,开始吧。


1、模块介绍 模块的源码位置 lib/argparse,如果你在代码中使用的不是这个位置,说明你导入错了。


argparse 可以让你轻松的编写用户友好的命令行接口, argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。


2、来个例子 打开控制台,切换到代码所在的位置,然后输入命令:


python ModifyFile.py -h 命令格式:python fileName.py -h


python :表示执行python命令


ModifyFile.py :是我python的文件


-h :表示查看文档

b5c193047bc046419528bf829e54b517~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg

可以看到提示了脚本的使用情况,以及三个参数的说明,完美。


3、自己做个 说再多没有用,怎么做呐?直接代码展示


#!/usr/bin/env python
# encoding: utf-8
"""
@Author: 香菜
@time: 2021/8/2 0002 下午 8:02
"""
import argparse
def get_parser():
   parser = argparse.ArgumentParser(description='工作目录中文件后缀名修改')
   parser.add_argument('work_dir', metavar='WORK_DIR', type=str, nargs=1,help='修改后缀名的文件目录')
   parser.add_argument('old_ext', metavar='OLD_EXT',type=str, nargs=1, help='原来的后缀')
   parser.add_argument('new_ext', metavar='NEW_EXT',type=str, nargs=1, help='新的后缀')
   return parser
if __name__ == '__main__':
   parser = get_parser()
   args = vars(parser.parse_args())
   # 从命令行参数中依次解析出参数
   work_dir = args['work_dir'][0]
   old_ext = args['old_ext'][0]
   print("follow me")
复制代码


步骤总结:


1、创建一个参数解析器 argparse.ArgumentParser(description='工作目录中文件后缀名修改')


2、增加几个参数 parser.add_argument('work_dir', metavar='WORK_DIR', type=str, nargs=1,help='修改后缀名的文件目录')


3、在使用参数的地方读取参数 vars(parser.parse_args())


4、在idea中如何调用 4.1 在命令行界面查看说明文档


python argFile.py -h 注:这个执行会直接调用 get_parser 方法,你可以加个 print 在函数内验证一下


4.2 调用这个文件执行:


python argFile.py 'aa' 'jpg' 'png' 4.3 Pycharm 中调用传参文件


在Pycharm 中执行需要参数的文件如果不传递参数会报下面的错误

4b88848d0edb44458431d02c8ac95147~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg

idea 传递参数也很简单,如下图:

d4b7007688034dcb8905451f6bd418a6~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg

注:参数之间空格隔开


debug执行结果看下,可以看到已经能获取到输入的三个参数,完美

f18339d5050043f7a78991e940cc07b1~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg

5、总结 argparse 的应用场景很明确就是为自己的程序提供命令行接口说明,


这只是入门级别的,如果你想给你的程序更好的参数提示,可以查阅相关文档。


模块的使用频率比较少,但是也需要掌握,如果别人不会只有你会是不是也很牛逼。加油

目录
相关文章
|
9天前
|
API Python
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
|
3月前
|
C语言 Python
python 调用c接口
【10月更文挑战第12天】 ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数
66 0
|
1月前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
14天前
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
|
14天前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
29天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
113 5
|
29天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
78 2
|
1月前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。
|
1月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
278 5
|
3月前
|
Python
Python中的push方法详解与实例
Python中的push方法详解与实例
47 3