范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

FastAPI的小兄弟,开发命令行工具更给力

  FastAPI的开发组织叫做tiangolo,他家除了FastAPI外,还有另一个项目也非常好用,叫做typer。
  三年前,我写过一篇文章一日一技:快速实现Python 命令行参数介绍另一个命令行工具fire. 而typer做得比fire还要好。
  首先使用pip来安装它:python3 -m pip install typer
  函数参数等于命令行参数
  我们首先来看看typer怎么使用。创建一个example_1.py文件,写入如下代码。import typer
  def main(name: str, salary: int):
  print(f"{name}月薪{salary}元")
  if __name__ == "__main__":
  typer.run(main)
  直接运行,Python会报错:
  使用参数--help可以查看这个脚本的命令行参数:
  于是我们根据这里的提示,输入正确的参数,从而正常运行程序:
  子命令与自动补全更好用
  假设我们有一个神经网络的程序,其中的入口函数代码如下:def train_data(train_folder: str, test_folder: str, rate: float = 0.8):
  """
  训练人脸检测模型
  """
  print(f"使用文件夹{train_folder}中的数据进行训练")
  print(f"使用{test_folder}中的数据用来验证训练效果,确保准确率>{rate}")
  return True
  def predict(folder: str):
  """
  使用训练好的模型预测
  """
  print(f"对文件夹{folder}中的数据进行预测。")
  显然,这个程序可以用来训练数据,也可以用来预测数据,所以有两种不同的命令,每一种命令有不同的参数。
  这种情况下,使用typer非常方便,只需要加两个装饰器就可以了:
  运行效果如下图所示:
  输入具体的子命令,还可以查看每个子命令的参数:
  因此,我可以使用两个不同的子命令来运行程序:
  你以为这样就完了?我们再安装它的一个辅助工具typer-cli,还可以做更多事情:python3 -m pip install typer-cli
  typer --install-completion
  有了这个东西,我们运行程序可以这样写:typer example_2.py run 子命令 参数1 参数2 --可选参数1 可选参数1的值
  例如:
  并且,typer可以帮我们可以实现自动补全:
  输入typer example_2.py run然后按下Tab键,自动告诉你可以输入哪些子命令,如下图所示:
  除此之外,如果你的命令行程序只有一个命令,那么你甚至只需要写一个函数,连typer都不需要导入,就可以使用typer来运行:
  自动生成文档也简单
  我们知道,FastAPI自动生成接口文档的功能非常好用。typer作为它的兄弟,也继承了这个高级功能。我们来看看:import typer
  app = typer.Typer(help="人脸检测模型")
  @app.command
  def train_data(train_folder: str, test_folder: str, rate: float = 0.8):
  """
  训练人脸检测模型
  """
  print(f"使用文件夹{train_folder}中的数据进行训练")
  print(f"使用{test_folder}中的数据用来验证训练效果,确保准确率>{rate}")
  return True
  @app.command
  def predict(folder: str):
  """
  使用训练好的模型预测
  """
  print(f"对文件夹{folder}中的数据进行预测。")
  运行命令:typer main.py utils docs --name "python3 main.py" --output readme.md
  自动在当前文件夹生成一个readme.md文件。我们使用任何能够渲染Markdown的软件打开这个文档,可以看到文档内容如下:
  这样一来,我们不需要额外花心思去维护文档,只需要在修改完代码、增删新的命令或者参数以后,运行这个命令,就可以把文档自动更新。

研究发现给大蚁蛛照镜子可降低其攻击性图为研究成果。中国科学院西双版纳热带植物园供图中新网昆明4月19日电19日,中国科学院西双版纳热带植物园发布一项有关大蚁蛛攻击性的研究。研究发现,大蚁蛛攻击性有很强的可塑性,给大蚁雷鸟创新发布新一代智能眼镜,可将140英寸高清巨幕装进口袋由TCL电子和TCL实业共同孵化的AR新锐企业雷鸟创新打造的全新消费级智能眼镜雷鸟Air今天(4月19日)开始在京东商城正式开售。这款定位于轻薄舒适的娱乐大屏的智能眼镜新品,可为用电脑键盘键位图详细介绍,键盘上的键位说明1。F1到F12叫功能区,通常F1是帮助键,在各个地方按下它会显示帮助。F2是改名,选中一个文件,按F2键,进入改名状态。F3一般是查找下一个。左上角ESC是退出键,取消键。2。第东航MU5735的初步报告,告诉了我们什么,可能是什么原因导致的?距离主撞击点12公里以外发现的右翼尖小翼后缘应该是这次初步报告的重点,为何这个部件出现在主撞击点12公里以外的地方,是不是飞机在空中就已经开始部件解体了?事故现场翘首以盼从事故发生五部门到2022年底,5G网络实现重点乡镇覆盖近日,中央网信办农业农村部国家发展改革委工业和信息化部国家乡村振兴局联合印发2022年数字乡村发展工作要点(以下简称工作要点)。通知要求,坚持以习近平新时代中国特色社会主义思想为指谷歌与NBA联手推广元宇宙赛事应用,微美全息AR直播打好生态基底据外媒报道,为庆祝NBA季后赛回归,谷歌(GOOG。US)和NBA联手推出元宇宙项目GooglePixelArena,为球迷带来了一种全新体验比赛的新方式。GooglePixelALeetCode旋转数组旋转数组题目描述给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。进阶尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为O(1)的原原装全新全套Samsung三星GTE1050直板不能上网无摄像头保密手机按键直板纯净系统,无游戏,不能上网,无摄像,很适合用在有保密需求的地方。E1050基本参数上市日期2011年01月手机类型时尚手机机身颜色黑色外形长度107。5mm宽度45。4mm为什么现在的手机不用升降摄像头了?目前市面大多的手机都是挖孔屏或者刘海屏,还有少数的手机是水滴屏,为什么现在的手机厂商不在使用之前的升降摄像头了呢?图片来源于百度之前升降摄像头出来的时候各大厂商纷纷推出了新机型。这卫星物联网,不可估量的未来物联网的概念可以追溯到1980年代初期的一台可乐贩卖机。这个售卖设备放置在著名的卡内基梅隆大学,它也是全球第一台隐含物联网概念的机器。这台可乐贩卖机可以连接互联网,在网络上检查剩余优点互动(IDEX。US)旗下Solectrac与新合作伙伴推进全电动零排放拖拉机销售智通财经APP获悉,优点互动(IDEX。US)运营的全电动拖拉机制造商Solectrac于美东时间4月26日宣布,随着位于阿拉巴马州Westover的ColumbianaTract
百元耳机之王Tribit趣倍FlyBuds1测评TWS千千万,今天给大家带来的是Tribit趣倍FlyBuds1的测评。说到Tribit趣倍这个品牌,大家可能不太了解,说实话,小编也是第一次接触到这个品牌,之前也只看过一些新闻报君子兰的冬季换盆技巧君子兰原产南非热带雨林地区,喜欢疏松透气好的微酸性的腐殖土壤。因此,在土壤配比方面建议用腐熟橡树叶40,松针20,沙粒20,木炭颗粒10,火山岩10的比例混合使用。大盆养死花,小盆墨兰和蕙兰的不同养护技巧墨兰属于地生兰,因此喜欢生长在优质疏松的土壤环境,我们常会选择腐叶土进行养护,腐叶土就是山林里面的土壤,里面含有丰富的矿物质元素。墨兰根茎是属于假鳞茎,因此土壤过于积水板结时都不利兰花龙根的养护技巧兰花开花后经过授粉,也是可以结出种子的,这些种子在适合的自然条件下也可以萌发,有种子萌发的小苗都可称之为龙根苗。种子萌发的时候,先萌发根状茎叫做龙根,根状茎萌发到地面,首先形成假鳞大花蕙兰的开花后养护技巧大花蕙兰没必要分苗,一般是削老苗,开花以后把最老的苗削去。大花蕙兰是4年苗才开花,从兰株上可以分辨出1234各个年份的苗,将最早两年的老苗都去掉,只留第三和第四年的壮苗。耗肥量特别如何养发财树才能枝繁叶茂?想将发财树养得旺盛,土壤的选择是至关重要的。最好选择富含有机质疏松透气保水性能良好的土壤,不要选择黏重的土壤。充足的光照也是发财树长得旺盛的关键。如果光照不充足会使发财树的叶子发黄兰花的家庭养护技巧养兰环境要通透敞亮,通风性要好,能在室外养就在室外养,不要在室内闷着,室外露养兰草会长得健壮许多,还不容易生病。兰花基本都是肉质根系,对于透气性要求非常高,土壤要疏松,不能板结,更小米超大环拍照之王小米10至尊纪念版凝聚了众多的黑科技,比如120倍超长变焦,120瓦的快充,120HZ的高刷屏幕。50瓦的无线快充以及10W反向充电那么小米10至尊纪念版值不值得购买,我带大家了解红米k40新机5G高端旗舰介绍。红米手机从红米1发展到最新的红米k40,每一代都有超高的性价比,这一代直接用上了旗舰处理器,吸引了不少人关注。红米k40发布于2021年2月25号,采用6。67英寸OLED打孔屏幕小鹏G3将迎来改款?外观神似P7,预估下半年上市就在近日,国内媒体曝光了一张新款小鹏G3的谍照图。在谍照图我们可以看出,新款小鹏G3的外观造型改变得非常明显,看上去与小鹏P7的前脸十分神似,看起来这套家族式设计将会用在后续的新车稳重大气硬派当道!新款北京越野BJ30到店实拍说起国产越野SUV,可能你会想到这2年的热门车型坦克300,但实际上较早一批做越野的自主车企,想必各位绝对不陌生北京汽车越野BJ系列。作为第一批主打越野性能的自主车企,且在越野这个