湖南邵阳建设局网站,做外贸一般用什么网站,wordpress下载站源码,wordpress下载5.0.3大家使用最多的命令行工具应该是pip了#xff0c;pip提供了很多的命令行参数和选项#xff0c;我们在终端使用pip install --help命令可以查看install子命令的帮助文档。可以看到#xff0c;除了最常用的pip install package命令#xff0c;我们还可以附加很多可选选项来控… 大家使用最多的命令行工具应该是pip了pip提供了很多的命令行参数和选项我们在终端使用pip install --help命令可以查看install子命令的帮助文档。可以看到除了最常用的pip install package命令我们还可以附加很多可选选项来控制pip install命令的行为。例如-r选项可以指定从一个requirements.txt的文件安装Python依赖包--no-deps标志可以让pip在安装包的时候禁用自动安装依赖包的行为。命令行接口的基础知识命令行接口通常以可执行文件的名称开头。我们只需在控制台中输入它的名称然后访问脚本的主入口点例如pip。我们可以通过命令行将参数传递给脚本它们可以是•Arguments (参数)这是传递给脚本的必需参数。如果您不提供它则CLI会遇到错误。例如pandas是此命令中的参数pip install pandas。•Options (选项)顾名思义它是一个可选参数通常包含一个名称和一个值对例如pip install pandas --cache-dir ./my-cache-dir。就是指定了./my-cache-dir作为应使用的缓存目录。•Flags (标志)这是一个特殊的选项参数它告诉脚本启用或禁用某些行为。最常见的可能是--help。为什么需要命令行接口想象一下如果pip没有提供一个命令行接口每次我们安装一个包的时候还要去代码中手动修改我们要安装的包名不是是不是非常的繁琐因此当代码需要频繁的修改某些参数的时候使用命令行接口可以将参数和代码分离开来从而让你的代码更加简洁适用范围更广。Python中有很多可以让人轻松编写用户友好的命令行接口工具如标准库中的argparse。然而在实际使用过程中发现用argparse做命令行接口需要创建解析器、定义参数、解析参数等3个步骤无形中写了很多样本代码。import argparse# argparse需要手动定义和解析参数parser argparse.ArgumentParser(descriptionProcess some integers.)parser.add_argument(integers, metavarN, typeint, nargs, helpan integer for the accumulator)parser.add_argument(--sum, destaccumulate, actionstore_const, constsum, defaultmax, helpsum the integers (default: find the max))args parser.parse_args()print(args.accumulate(args.integers))相比之下谷歌开源了fire命令行工具就简单的多了很多情况下只需要一行代码就搞定了。接下来我们来看fire的基本用法fire的基本用法fire是谷歌开源的一款命令行工具支持从任意的Python对象自动生成命令行接口与标准库中的argparse等工具相比更加的简洁高效。假设我们有一个计算2个数值的函数接收两个位置参数x和y代码如下sum.pyimport firedef sum(x,y): 两个数值的加法求和计算 Args: x (int): 第一个数值输入 y (int): 第二个数值输入 Returns: int: 求和计算结果 return xy现在我们想利用fire将上面的函数生成一个命令行接口只需在sum.py底部再加入下面2行代码fire.pyif __name__ __main__: fire.Fire(sum)现在我们在执行sum.py脚本就可以带上两个命令行参数x和y了。# root MyMac-Pro in ~/Desktop [14:07:23] $ python sum.py --x1 --y2上面提到过了fire使用的时候不需要像argparse一样需要定义参数、解析参数十分的方便fire还有提供了一个好用的功能是fire会读取DocString字符串自动生成命令行接口的文档在命令行使用--help就可以查看。查看sum.py的帮助文档# root MyMac-Pro in ~/Desktop [14:07:23] $ python sum.py --help输出的命令行接口的帮助文档NAME sum.py - 两个数值的加法求和计算SYNOPSIS sum.py X YDESCRIPTION 两个数值的加法求和计算POSITIONAL ARGUMENTS X 第一个数值输入 Y 第二个数值输入NOTES You can also use flags syntax for POSITIONAL ARGUMENTS(END)问fire只能用在函数上面吗并非如此fire可以用在模块、类、方法、函数等任意的对象感兴趣的同学可以查看官方文档https://github.com/google/python-fire/blob/master/docs/using-cli.md了解fire更多的特性推荐阅读• 竟有如此沙雕的代码注释头给我笑掉了• 又跌6月全国程序员工资新统计太扎心• 面试了一个工作 4 年的程序员还不如个应届生...• 好险差点要写一个300行的 if-else• keras如何多输入多输出以及中间层输出欢迎关注我的公众号“数据科学杂谈”原创技术文章第一时间推送。点个在看是我继续原创的动力