专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

避免重复造轮子!7个Python库让开发更轻松

  转载说明:原创不易,未经授权,谢绝任何形式的转载
  7个Python库提升开发效率,让你的项目更优秀
  当有库可以完成你需要的功能,为什么还要自己写代码呢?库是开发者最好的朋友和救星。在我看来,一个好的项目会利用一些最好的可用库。
  本文是Python精彩库系列的一部分,其中我总结了7个Python库,可以帮助你在开发中获得便利。1。diagrams
  当你在开发云系统时,想要在架构设计过程中使用图形来说明你的设计方案,你可能会使用一些设计工具来创建和修改图形。但是使用这些工具需要熟悉它们的使用方法,同时也需要花费时间去了解工具本身的特点和限制。
  而diagrams库就是一个可以在Python代码中创建云系统架构图的工具。你只需要编写简单的Python代码,就可以快速创建云系统架构图,并且可以方便地进行版本控制。该库目前支持多种云服务,包括AWS、Azure、GCP、Kubernetes、阿里云、OracleCloud等。
  以下是一个简单的示例代码,用于绘制一个基本的云系统架构图,该图包括一个Web服务器、一个数据库服务器和一个文件存储服务器。其中,diagrams库的核心就是创建图形对象,通过图形对象之间的连接来表示不同组件之间的关系。fromdiagramsimportDiagram,Clusterfromdiagrams。aws。computeimportEC2fromdiagrams。aws。databaseimportRDSfromdiagrams。aws。storageimportS3withDiagram(WebSystem,showFalse):withCluster(Cluster):EC2(WebServer)RDS(Database)EC2(WebServer)S3(Files)
  该示例代码中,首先创建了一个Diagram对象,表示一个名为WebSystem的云系统架构图。然后,使用Cluster对象创建了一个名为Cluster的子图,用于包含Web服务器、数据库服务器和文件存储服务器。接着,创建了三个图形对象,分别代表EC2、RDS和S3。最后,使用箭头符号()表示Web服务器和数据库服务器、Web服务器和文件存储服务器之间的连接关系。
  运行上面的代码,就可以得到一个类似上面的云系统架构图。
  在这个图中,Web服务器、数据库服务器和文件存储服务器之间的连接关系非常清晰。而且,如果需要修改图形对象的属性,比如调整服务器的大小、颜色和字体等,也非常容易。同时,这个代码示例中的代码量非常小,易于编写和维护。
  更多关于diagrams库的详细介绍和使用方法,可以参考其官方文档。
  https:github。commingrammerdiagrams2。pyarmor
  PyArmor是一个用于保护Python脚本的工具,它提供了多种保护功能,例如加密源代码、控制代码的运行时间、保护模块导入等。PyArmor支持Python2和Python3,并且可以在Windows、Linux和macOS上使用。
  使用PyArmor,您可以通过简单的命令行接口对Python脚本进行保护。下面是一个简单的使用示例。
  首先,您需要安装PyArmor,可以使用pip进行安装:pipinstallpyarmor
  接下来,您需要使用PyArmor创建一个项目,可以使用以下命令:pyarmorinitmyproject
  这将创建一个名为myproject的目录,其中包含一些示例文件和一个名为pyarmor。cfg的配置文件。
  接下来,您可以将您要保护的Python脚本放在myproject目录中。例如,假设您有一个名为myscript。py的脚本,可以将其放在myproject目录中。
  现在,您可以使用以下命令对脚本进行加密:pyarmorobfuscatemyscript。py
  这将生成一个名为myscript。pye的加密脚本,该脚本包含了加密的源代码。您可以使用以下命令运行加密脚本:pyarmorrunmyscript。pye
  如果您想控制代码的运行时间,可以使用以下命令:pyarmorobfuscatetime3600myscript。py
  这将限制脚本的运行时间为3600秒(1小时)。
  除了这些基本功能之外,PyArmor还提供了许多其他的保护选项,例如保护模块导入、动态密钥加密等。
  总之,PyArmor是一个非常有用的工具,可以帮助您保护Python脚本的源代码和知识产权。
  https:github。comdashingsoftpyarmor3。tesserocr
  tesserocr是一个基于TesseractOCR引擎的Python库,用于识别和提取图片中的文本。
  Tesseract是一个开源的OCR引擎,可以识别多种语言的文本,并且支持多种图像格式。Tesserocr利用Tesseract引擎实现了Python接口,方便在Python环境下使用OCR技术。
  下面是一个使用tesserocr库的示例代码:importtesserocrfromPILimportImage读取图片imageImage。open(test。png)对图片进行灰度处理grayimageimage。convert(L)对图片进行二值化处理threshold80binaryimagegrayimage。point(lambdax:0ifxthresholdelse255)进行OCR识别texttesserocr。imagetotext(binaryimage)print(text)
  以上代码实现了以下步骤:通过PIL库读取一张图片;将图片转换成灰度图像;对灰度图像进行二值化处理;使用tesserocr库对二值化图像进行OCR识别;输出识别出的文本。
  需要注意的是,以上代码仅仅是一个简单的示例,实际使用时需要根据具体情况对图片进行适当的预处理,以提高识别准确率。
  https:github。comsirfztesserocr4。shiv
  Shiv是一个Python打包和分发工具,它可以将一个Python应用程序打包为单个可执行文件,便于部署和分发。与传统的打包方式不同,Shiv打包的可执行文件包含了所有需要的依赖库和资源文件,可以直接运行,无需在目标系统上安装Python或额外的依赖库。Shiv还支持虚拟环境,可以保证应用程序在不同的Python环境中运行一致。
  使用Shiv可以极大地简化应用程序的部署过程,特别是对于没有Python环境或没有足够权限安装依赖库的系统。
  以下是使用Shiv打包和运行一个简单的Python应用程序的示例:
  首先,安装Shiv:pipinstallshiv
  接下来,创建一个Python应用程序,例如一个简单的FlaskWeb应用程序:fromflaskimportFlaskappFlask(name)app。route()defhello():returnHello,world!ifnamemain:app。run()
  将应用程序保存为app。py文件。然后,使用以下命令将应用程序打包成可执行文件:shivcapp:appapp。pyoapp
  其中,app:app指定了应用程序入口点,app。py是应用程序源代码文件,app是打包后的可执行文件的名称。
  最后,运行打包后的应用程序:。app
  这样就可以在本地运行打包后的应用程序了。要在其他系统上运行,只需将打包后的文件复制到目标系统上即可,无需安装Python或其他依赖库。当然,Shiv还支持更多的选项和配置,具体可以参考官方文档。
  https:github。comlinkedinshiv5。maya
  Maya是一个用Python实现的日期和时间处理库,旨在提供简单、易用的API,以便开发人员可以轻松地进行各种日期和时间操作,例如日期解析、日期格式化、时区转换、日期加减等。Maya在使用上比标准库的datetime模块更加直观、易用,同时支持更多的时区功能和格式化选项。
  Maya的主要特点包括:支持ISO8601格式以及其他常用格式的日期解析和格式化;支持大部分的国际时区,并可以轻松进行时区转换;使用timedelta进行日期计算,支持天数、小时、分钟、秒等的加减运算;支持各种日期和时间的比较和排序;可以很方便地与标准库的datetime模块进行互操作;
  下面是使用Maya进行日期和时间处理的一些代码示例:importmaya解析日期字符串,返回MayaDT对象dtmaya。parse(20220215T14:30:00。000Z)显示日期和时间print(dt。iso8601())显示日期和时间的日期部分print(dt。date)显示日期和时间的时间部分print(dt。time)显示日期和时间的时区信息print(dt。timezone)转换为UTC时区utcdtdt。astimezone(UTC)日期加减操作newdtdt。add(days1,hours2,minutes30)日期比较print(dtnewdt)print(dtnewdt)使用timedelta进行日期计算deltanewdtdtprint(delta)
  这些代码展示了如何使用Maya解析日期字符串、获取日期和时间的各个部分、进行时区转换、进行日期计算和比较等基本操作。Maya还支持更多的功能,例如处理日期范围、本地化日期和时间、格式化日期和时间等。更多信息可以参考Maya的文档。
  https:github。comtimofurrermaya6。pythondecouple
  解耦是编码中最佳实践之一。这个库将帮助你实现严格的配置与代码分离。它可以帮助你组织你的设置,以便你可以在不必重新部署应用程序的情况下更改参数。它还包括许多其他功能,如定义全面的默认值、正确转换值为正确的数据类型、只有一个配置模块来管理所有实例等等。这个库在Github上获得了超过2k的星。
  通常,在应用程序中,我们需要设置一些配置参数,如数据库的地址、API密钥、加密密钥等。这些参数通常不应该硬编码在代码中,而是应该存储在某种配置文件中,以便在需要时进行修改。。env文件就是这样一种文件,它可以存储键值对,如DATABASEURLpostgres:user:passwordlocalhostdbname。
  pythondecouple可以很方便地读取。env文件中的键值对,并将它们转换为Python变量,使得这些配置参数可以很方便地在代码中使用。
  以下是一个示例代码:fromdecoupleimportconfig读取名为MYSECRETKEY的变量,如果不存在则返回默认值mysecretkeysecretkeyconfig(MYSECRETKEY,defaultmysecretkey)读取名为DATABASEURL的变量,并将其解析为URL对象fromurllib。parseimporturlparseresulturlparse(config(DATABASEURL))读取一个整数类型的变量maxworkersconfig(MAXWORKERS,castint)
  在上面的示例中,config函数用于读取。env文件中的键值对,并将其转换为Python变量。cast参数用于指定要转换的类型,如int、float、bool等。
  除了从。env文件中读取配置参数外,pythondecouple还提供了其他一些方便的函数和工具,如从环境变量中读取配置、使用多个配置文件等。更多详细信息可以参考官方文档。
  总之,pythondecouple使得管理和使用配置参数变得更加方便和安全,建议在开发Python应用程序时使用它来管理配置。
  https:github。comhenriquebastospythondecouple7。cerberus
  Cerberus是一个用于数据验证的Python库,能够轻松验证任何格式的数据,并以可读的方式返回错误消息。Cerberus设计用于验证JSONlike数据格式,例如RESTfulAPI输入或配置文件。它具有简单的语法和易于使用的API,并且支持高级数据类型,例如日期和时间,列表和嵌套数据结构。
  以下是一个Cerberus的使用示例:
  安装Cerberus:pipinstallcerberus
  然后在Python中导入Cerberus:fromcerberusimportValidator
  接下来,我们定义一个验证器实例,并为其指定验证规则:schema{name:{type:string,required:True},age:{type:integer,required:True,min:18,max:99},email:{type:string,required:True,regex:〔w。〕〔w。〕(。〔w〕)39;},isstudent:{type:boolean,required:True},courses:{type:list,required:True,schema:{type:dict,schema:{name:{type:string,required:True},description:{type:string,required:True}}}}}vValidator(schema)
  然后,我们定义一个要验证的数据字典并使用validate方法进行验证:data{name:JohnDoe,age:25,email:johndoeexample。com,isstudent:True,courses:〔{name:Math,description:IntroductiontoCalculus},{name:Science,description:IntroductiontoPhysics}〕}ifv。validate(data):print(Dataisvalid)else:print(Dataisinvalid)print(v。errors)
  以上示例中,我们定义了一个包含五个字段的验证规则:name、age、email、isstudent和courses。name和age字段是必填项,age字段必须在18到99岁之间,email字段必须为有效的电子邮件地址,isstudent字段必须为布尔值,courses字段必须为列表,并且列表中的每个元素都必须为字典类型,字典类型必须具有name和description字段,且这两个字段都是必填项。
  然后我们定义了一个数据字典,并使用validate方法对其进行验证。如果数据字典符合验证规则,则打印Dataisvalid;否则打印Dataisinvalid并输出错误消息。结束
  今天的分享就到这里,希望对你有所帮助。如果你知道任何其他高效的Python工具库,欢迎你在评论区补充。感谢你的阅读,如果你喜欢我的分享,别忘了点赞转发,让更多的人看到,最后别忘记了关注前端达人,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。

一旦遇到MACD双绿一红形态,每次回踩都可大胆加仓,易学易懂银行家与儿子有一天,一个银行家的儿子,好奇地问他爸爸,他是怎么赚到这么多钱的?银行家放下手上的事情,微笑地让他的儿子,把冰箱的肉拿过来。儿子拿过来了,银行家让他再放回冰箱。儿子把肉利拉德成全明星MVP头号热门!詹姆斯米切尔并列第2字母哥跌至第9北京时间2月20日,2023年全明星正赛即将打响,全明星MVP的归属成为热议的话题,而最新赔率显示,刚刚拿下生涯首个三分大赛冠军的利拉德,已经成为全明星MVP的头号热门。詹姆斯和米7个后卫胡明轩!男篮16人大名单出炉,乔帅为何也这么选择?经过接近20天的集训,中国男篮终于确定了出征第六个世预赛窗口期的大名单,不过并非是14人,而是16人大名单,只有广州的祝铭震和江苏的崔晓龙未能入选。主教练乔帅的意图很明确,在没有战浅谈古罗马奴隶制度,对当时的经济发展,起到了哪些作用?文案鲨鲨编辑圆圆档案馆一欧洲文明的各个阶段起初似乎令人难以置信,这个巨大的帝国,包括非洲和亚洲人民以及最不同的种族欧洲文明的各个阶段。可以团结在五个世纪而不是碎片,可能是预期,之前塞萨尔我确信国米能在欧冠和意大利杯中完成救赎直播吧2月21日讯国米传奇门将塞萨尔今天接受都灵体育报采访,他谈到了国米与波尔图的欧冠18决赛首回合对决,以及这两队的教练小因扎吉和孔塞桑。这是两个出色的职业教练,也是两位能干的聪海珠一建筑入选中国20世纪建筑遗产项目!日前第七批中国20世纪建筑遗产项目正式对外发布位于海珠区的岭南画派纪念馆(广州美术学院内)入选!2月16日,文化城市建设中的文化遗产保护与传承研讨会暨第七批中国20世纪建筑遗产项目瘦到病态强行装嫩男扮女妆,内娱的病态审美,什么时候才算完文木桥编辑木桥前言病态审美危害了青少年的精神世界和肉体,作为一种精神入侵,现在要如何去抵御这种精神侵害。小鲜肉本是一个形容人年轻,有活力,比较单纯,何时被赋予了讽刺意味?白幼瘦你太多地公布新生儿爆款名字!梓轩不火了,霸榜的是这些近期,多地公布2022年新生儿爆款名字,总体来看,往年盘踞排行榜首的梓轩梓萱等偶像剧风名字不再独领风骚,沐泽辰玥心等新秀后来居上实现赶超。安徽合肥2022年在合肥办理出生登记的男孩南方观察山海城,更深圳为什么热爱深圳?有山有海,山海连城。一定是答案之一。来自中国城市规划设计研究院发布的2022年中国主要城市公园评估报告显示,在公园分布均好度评价中,深圳位列超大城市第一名。环境好,新民快评趁急打劫个人信息应严管这两天,一则市民上公厕取厕纸,要扫码关注看广告的新闻引发关注。像这样简单粗暴获取个人信息的情况,在日常生活中并不少见,一些公共场所的充电宝共享单车等,也推出过扫码关注,免费使用的活雪藏多数主力仍夺冠国羽征战亚团赛收获颇丰北京日报客户端记者王笑笑北京时间19日夜,2023年亚洲羽毛球混合团体锦标赛在迪拜落下帷幕。中国队在决赛中以3比1击败韩国队,继小组赛后再次战胜对手,夺得冠军。本次比赛,国羽雪藏了
2022年浙江省高新技术企业榜单发布21家钱塘企业入500强日前,2022年浙江省高新技术企业(下称高企)创新能力500强和各领域单项指标十强榜单发布,钱塘区21家高企入围500强,入选企业数量位居全省第四杭州第三,创历史新高。2022年度人也可以冬眠了?新研究或将开启人工冬眠之路在寒冷的冬季,变温动物某些哺乳类动物和少部分鸟类,会通过降低体温的方式进而一种类似昏睡的生理状态以度过难捱的日子,这种生理状态叫冬眠。如果人类也同样可以进入冬眠,或许目前的很多难题艺点资讯著名珠宝品牌海瑞温斯顿提交元宇宙商标申请成都印发首个元宇宙政策文件将打造9大元宇宙应用场景西藏发行首个数字藏品李鸣元宇宙是构建在新一代技术之上的新消费生态曼联官方NFT系列被指控抄袭艺术家DesLucrece的作品美国珠华为P60系列手机壳曝光,外观引争议,影像是亮点声明原创不易,禁止搬运,违者必究!国产高端手机市场,华为还是最令人期待的。虽说国内也有不少手机厂商发布高端旗舰产品,小米也是冲击高端市场的一员,但是论技术,还得是华为。所以即便在华美媒称2。35亿推特账号遭泄露据美国华盛顿邮报4日披露,社交媒体平台推特2。35亿个用户的账号以及注册这些账号所用的电子邮件地址遭到泄露,并被公布到了一个线上黑客论坛。分析认为,黑客可能于2021年底利用推特系此前劝中国趁早投降!事实是美国连华为都制裁不了,能奈我何?中美贸易战刚开始时,很多人是悲观的甚至存在着大量的投降派!印象深刻的是有人给出数据说明中国绝无胜算,甚至劝我们趁早投降!如今数年过去了,世界仍是那个世界,中国依旧欣欣向荣,那些曾经号称一部到位的旗舰新机,是不是真的香?看看网友博主评价就快过年了,相信有不少朋友都想要换购一台新的手机。现在来说,肯定是要买搭载骁龙8Gen2手机的,毕竟这是最新最强的安卓处理器,功耗和性能都要比上代产品更强,买来用几年是完全可以的。广州车展第九天新能源车仍唱主角?自主品牌高端化步伐未停歇2022年12月30日,第二十届广州车展顺利开幕,而这也是继北京车展取消成都车展开展叫停之后,2022年唯一一个顺利举办的A级国内车展。2023年1月7日,今天已经是2022广州车强迫用户接受广告脸书母公司被欧盟重罚29亿近日,爱尔兰隐私监管机构裁定,社交平台脸书的广告和数据处理做法违反了欧盟隐私法,并强迫用户接受定向广告。因此,爱尔兰隐私管理机构对脸书母公司Meta开出两张罚单,总额度达到3。9亿张伟丽向拳王泰森致歉!粉丝赞叹更加成熟!昨日,由咪咕举办的UFC粉丝日2023起航站在北京首钢园顺利举行,在这里张伟丽谈及了自己在2022年的变化。张伟丽同时也和一众粉丝们进行了交流互动。并且张伟丽也向粉丝们传授,如何在没想到,今年羊羔绒外套突然火了!洋气百搭,比大衣保暖多了塑造美并非一蹴而就的事,尤其是冬季的穿搭,并不是随便穿穿就能完成时尚度。寒冷的冬日时尚感靠什么来完成?当然是一眼就让人注意的外套了!那么今年突然火起来的外套你是否捕捉到了呢?你穿上
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网