一日一技:快速实现Python 命令行参数

摄影:产品经理

厨师:kingname

我们有时候需要使用 Python 开发一些命令行工具,并在运行命令的时候指定一些参数,例如:

python3 xxx.py --name kingname --salary 999999

对于简单的,只有几个参数的工具,我们可以使用 sys.argv来获取。

如果我们还需要在参数里面输出帮助信息,并且同时兼顾两种格式:

python3 xx.py --name=kingname --salary=999

python3 xxx.py --name kingname --salary=999

那么使用 sys模块就不好用了。此时我们可以使用 argparse。但是如果你阅读它的官方文档:https://docs.python.org/zh-cn/3/howto/argparse.html,你就会发现 argparse写起来还是有点麻烦。

那么有没有简单的方法实现命令行参数呢?答案就是 fire这个库。

首先我们来安装一下它:

python3 -m pip install fire

然后我们来实现一个简单的支持命令行的程序:

import fire

def intro(name, salary): print(f'我的名字是:{name}, 我的月薪是{salary}')

if __name__ == '__main__': fire.Fire(intro)

这段代码支持三种调用方法,如下图所示:

使用参数 python3 test_fire.py--help可以看到自动生成的帮助信息:

如果漏掉了某些信息,那么就会报错:

那么如果有些参数可要可不要怎么办呢?也非常简单,给函数参数带上默认值即可,例如:

import fire

def intro(name='产品经理', salary=88888): print(f'我的名字是:{name}, 我的月薪是{salary}')

if __name__ == '__main__': fire.Fire(intro)

运行效果如下图所示:

使用 fire,让你的命令行参数更容易。

文章来源: blog.51cto.com,作者:未闻Code,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.51cto.com/15023263/2559086

一日一技python安装_一日一技:快速实现Python 命令行参数相关推荐

  1. 【Python知识点梳理】10.Python的垃圾回收机制、代码规范及命令行参数

    Python的垃圾回收机制.代码规范及命令行参数 文章目录 1.Python的垃圾回收机制 2.Python的引用计数机制 3.Python中的循环数据结构及引用计数 4.Python中的GC模块 5 ...

  2. python编写请求参数带文件_转载:如何编写一个带命令行参数的Python文件

    看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命 ...

  3. 如何快速python入手_初学者怎么才能快速学会Python?

    提起对Python的印象,除了全能之外恐怕就是简单易学了.很多人都在推荐新手学Python入门,毕竟语法简单.语句简洁,所谓"人生苦短我用Python"绝不是一句空话.不过也不能忽 ...

  4. python装好了怎么启动车_【填空题】Python安装好后,可以直接在CMD命令行下输入( )命令, 可启动交互式编程,提示窗口如下:...

    倾斜岩层的产状要素是用岩层层面的().A.倾角B.走向C.范围D.倾向E.表面积 采用深层搅拌法进行地基加固处理,其适用条件为().A.砂砾石松软地基B.松散砂地基C.黏土软弱地基 根据<建筑工 ...

  5. python输入正方形边长值、计算其面积_尝试修改列6.2编写命令行参数解析的程序,解析命令行参数所输入边长的值,计算并输出正方形的周长和面积。_学小易找答案...

    [简答题] [单选题]ZigBee 中每个协调点最多可连接______个节点,一个ZigBee网络最多可容纳______个节点.( ) [资料题]DWord-Ans.pdf 索引和目录.pdf 完成效 ...

  6. Python 获得命令行参数的方法

    本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数: ...

  7. [转]Python 命令行参数和getopt模块详解

    FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...

  8. python 命令行参数处理 getopt模块详解

    有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...

  9. python 命令行参数-python中命令行参数

    python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 len(sys.argv)是命令 ...

最新文章

  1. Azure Redis 系列之 Azure Redis部署
  2. NSOprationQueue 与 GCD 的区别与选用
  3. 如何活着:欲望、外界、标签、天才、时间、人生目标和经历
  4. PMCAFF原创作者人气榜,快来看看你排第几?
  5. 网络基础知识----------iptables
  6. influxdb聚合函数JAVA_InfluxDB 聚合函数实用案例
  7. C++利用MySQL API连接和操作数据库
  8. 专访ThoughtWorks王磊:从单块架构到微服务架构
  9. 2022 最新分布式面试题合集,轻松应对 Java 面试
  10. 乌龟git解决冲突_关于git中自己的分支和主分支有冲突的解决方案(git和乌龟git)...
  11. 飞鸽传书2007绿色版该消息称
  12. win10桌面不见了如何找到
  13. android 10 多开,多开分身安卓10版
  14. 使用Mac时Coursera视频无法播放的解决方法
  15. Contrastive Loss
  16. java-net-php-python-13jspm珠宝销售网开题计算机毕业设计程序
  17. 查询pytorch文档的实用方法
  18. 网页访问的服务器和端口怎么查,怎么查看网页访问端口号
  19. 【NLP】五万字综述!Prompt Tuning:深度解读一种新的微调范式
  20. Windows CE下中文输入法编辑器

热门文章

  1. 【持续更新】2007-2022年英伟达历代桌面Tesla显卡列表,Tesla显卡发布日期
  2. bzoj 4094: [Usaco2013 Dec]Optimal Milking 线段树
  3. freeswitch系列31注册流程
  4. Python-苹果手机编程
  5. 安装最新版本zlib
  6. TP-LINK TL-WDN7200H ubuntu驱动安装
  7. Itext 学习笔记(六) pdf的页眉页脚
  8. NR LDPC 03- Tanner
  9. Centos7防火墙常用操作打开关闭端口
  10. 景联文科技提供智能手表健康监测数据采集服务,涵盖血压血氧心率睡眠数据