Python
文章平均质量分 80
山阴少年
这个作者很懒,什么都没留下…
展开
-
Apollo配置中心及Python连接
本文将会介绍如何启动Apollo,在Apollo中配置参数,以及如何使用Python连接Apollo.原创 2023-09-13 20:43:27 · 1754 阅读 · 2 评论 -
基于token的编辑距离计算
本文将会介绍如何基于token来计算两个字符串的编辑距离。原创 2023-09-07 23:45:27 · 158 阅读 · 0 评论 -
Gradio入门(1)输入输出、表格、文本高亮
本文介绍了机器学习领域中一个很好用的前端展示工具Gradio,分别就输入和输出、表格、文本高亮三个功能上给出了简单示例和大模型方面的应用。原创 2023-08-30 23:44:14 · 6398 阅读 · 0 评论 -
测试工具coverage的高阶使用
本文介绍了测试工具coverage的高阶使用,希望能对读者有所启发~原创 2023-08-19 18:16:24 · 1405 阅读 · 0 评论 -
Python中__new__、__init__和__call__的用法
本文将介绍Python中的三个魔法函数原创 2023-03-08 23:34:05 · 1970 阅读 · 0 评论 -
Python之单元测试使用的一点心得
本文将就笔者近段时间使用单元测试的一点经验,来分享如何更好地使用单元测试来提升我们代码的规范性和高效性。原创 2022-03-29 22:50:40 · 1230 阅读 · 0 评论 -
Python之几何集合操作模块Shapely的简介
本文将会介绍Shapely的一些基础几何对象的操作以及其在地理分析上的简单应用,其中基础几何对象包括点(Point)、线(LineString)、多边形(Polygon)。原创 2021-12-12 14:35:22 · 21245 阅读 · 0 评论 -
Python之读取配置文件
在大公司工作了一段时间,其中的感悟之一就是好的代码能产生更大的价值,便于后来者维护。而写好代码,其中一个trick便是学会设计代码,用配置文件去控制流程,使整个项目简洁明了。 本文将介绍如何使用Python来读取配置文件,如ini、yaml文件等。ini配置文件 我们以如下enviro.ini配置文件为例,使用Python的configparser模块来解析参数。[mysql]host=127.0.0.1port=33060username=rootpassword=123456d原创 2021-11-08 21:29:54 · 3776 阅读 · 0 评论 -
tensorflow(4)使用tensorboard查看ckpt和pb图结构
在我们使用tensorflow训练和部署模型的时候,我们经常会接触ckpt和pb文件。 本文将会介绍如何使用tensorboard查看ckpt和pb的模型图结构,便于我们加深对模型的理解。查看ckpt图结构 一般tensorflow保存模型格式为ckpt,里面含有data、index、meta文件,其中meta文件为元数据图(meta graph),它保存了tensorflow完整的网络图结构。我们可以通过解析它来查看模型图结构。 Python代码如下:import tensorflow原创 2020-11-05 11:57:17 · 4108 阅读 · 0 评论 -
Python之离线环境安装第三方模块
熟悉Python的读者都知道,在Python中安装(在线环境)第三方模块十分方便,只需要输入pip install package_name即可完成第三方模块的完成,因为它会帮助你解决各个模块之间的依赖关系。但是,如果是离线环境,安装第三方模块将是一件十分困难的事情,因为你不清楚他们之间的依赖关系。 本文将介绍如何在离线环境中安装第三方模块。 本文以离线安装Python3.5的tensorflow模块为例,首先我们先找到tensorflow的依赖模块,然后将这些依赖模块下载下来,最后完成安装。原创 2020-10-28 20:13:52 · 1825 阅读 · 0 评论 -
Protobuf学习入门(一)
笔者最近在学习使用tensorflow/serving,其中有不少涉及Protobuf相关的内容,因此接触学习了Prorobuf,记录于此,希望能对读者有所启发。 本文作为Protobuf入门学习的第一篇文章,将简单介绍Protobuf协议以及如何使用Protobuf来实现序列化与反序列化。Protobuf简介 Protobuf即Protocol Buffers,是Google公司开发的一种跨语言和平台的序列化数据结构的方式,是一个灵活的、高效的用于序列化数据的协议。 与XML和JSON原创 2020-10-24 13:33:59 · 872 阅读 · 1 评论 -
Python之读取MongoDB导出的BSON文件
BSON是一种类似于JSON的二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型等。 BSON主要被用作MongoDB数据库中的数据存储和网络传输格式,能用来表示简单数据结构、关联数组(MongoDB中称为“对象”或“文档”)以及MongoDB中的各种数据类型。 本文将讲述如何使用Python来读取MongoDB导出的BSON文件。使用MongoDB导出BSON文件 使用原创 2020-10-23 11:29:20 · 4573 阅读 · 2 评论 -
Python之利用marshmallow实现序列化与反序列化
在介绍marshmallow模块前,先简单介绍下什么是序列化与反序列化。 序列化是指将数据对象转化为可储存或可传输的数据类型,也就是将Python的object对象转化为str, dict, list等;而反序列化是指将可存储或可传输的数据类型转化为数据对象,也就是将Python中的str, dict, list等转化为object对象。 marshmallow模块是Python中方便实现序列化与反序列化的第三方模块。本文将会介绍如何使用marshmallow实现序列化与反序列化,marshma原创 2020-09-07 21:54:16 · 1415 阅读 · 0 评论 -
Python之利用Conda管理虚拟环境
平时我们在使用Python的时候,有可能会使用多个Python环境,有的是Python版本不同,有的则是Python的第三方模块使用情况不同,因此,我们需要对Python进行虚拟环境管理。 使用Python虚拟环境的好处在于,一方面它能为项目的运行提供完整的环境支持,比如Python版本,第三方模块等,另一方面它能为项目的运行指定所需的环境,避免了Python不同版本和不同第三方模块之间的干扰。Python的虚拟环境管理有多种实现方式,比如Conda和Python自带的管理工具virtualenv。原创 2020-08-27 10:28:16 · 391 阅读 · 0 评论 -
利用Celery实现定时任务
利用Celery实现定时任务原创 2020-07-20 23:16:34 · 4702 阅读 · 1 评论 -
利用Tornado搭建文档预览系统
在平时的工作或学习中,我们经常会接触不同格式的文档类型,比如txt,log,Offices文档,编程代码脚本,图片,视频等。本文将会介绍笔者的一个朴素想法,即把不同格式的文档都放在同一个平台中进行预览,这样既方便查看常见文档,又能提升工作和学习效率。 本项目的工程结构如下:...原创 2020-06-05 22:42:53 · 479 阅读 · 0 评论 -
Tornado+Pyecharts+LayUI搭建个人足迹地图服务
在之前的文章 Python之绘制个人足迹地图 中,笔者采用Pyecharts和手动修改HTML代码的方式实现了个人足迹地图。本文将会介绍利用Tornado+Pyecharts+LayUI来搭建个人足迹地图web服务,这样我们只需要通过页面点选的方式就能绘制个人足迹地图,简单高效。 前端框架我们采用layui,后端web框架采用Python的Tornado,地图生成利用Pyecharts。同时,我们需要安装的第三方模块如下:tornado==5.1.1pypinyin==0.35.2pyecha原创 2020-06-03 22:13:00 · 1944 阅读 · 0 评论 -
Python之绘制个人足迹地图
前两年,足迹地图小程序风靡朋友圈,一时间大家都流行晒自己的旅行地图。但是,笔者最近体验了好几款足迹地图的小程序,发现这些小程序虽然号称是足迹地图,但最多只是展示到省级别,无法精确到市级别,因此,笔者周末花了点时间,用Python来绘制自己的个人足迹地图,可以精确到市级别。 下面的部分,笔者将介绍如何简单地来绘制个人足迹地图。 首先我们需要安装以下Python的第三方模块:echarts-china-cities-pypkg==0.0.9 echarts-china-province原创 2020-05-31 11:25:10 · 3551 阅读 · 0 评论 -
Python之学会测试,让开发更加高效(一)
前几天,听了公司某位大佬关于编程心得的体会,其中讲到了“测试驱动开发”,感觉自己的测试技能薄弱,因此,写下这篇文章,希望对测试能有个入门。这段时间,笔者也体会到了测试的价值,一句话,学会测试,能够让你的开发更加高效。 本文将介绍以下两个方面的内容:Test with CoverageMockTest with Coverage 测试覆盖率通常被用来衡量测试的充分性和完整性。从...原创 2020-04-27 10:31:46 · 316 阅读 · 0 评论 -
一些有用的小工具
本文将介绍一些有用的小工具,它们能够帮助我们提高工作效率。本文将介绍笔者在近一周发现的三个小工具,写文章以做记录,希望能对大家有所帮助。 本文将介绍的三个小工具如下:在Sublime Text中支持Python运行;在Mac电脑的iTerm2中支持查看图片;Python的typing模块介绍。 详细内容介绍如下。在Sublime Text中支持Python运行 在平时工...原创 2020-03-30 20:27:57 · 397 阅读 · 0 评论 -
Numpy之数据保存与读取
在pandas使用的25个技巧中介绍了几个常用的Pandas的使用技巧,不少技巧在机器学习和深度学习方面很有用处。本文将会介绍Numpy在数据保存和读取方面的内容,这些在机器学习和深度学习方向也大有用处,因为通常我们会采用Numpy和Pandas处理数据,尤其是Pytorch,它和Numpy的结合更为紧密。 我们先介绍Numpy的几个函数:numpy.savez(file, *args,...原创 2020-03-14 16:07:20 · 1164 阅读 · 0 评论 -
Python之生成项目依赖包文件requirements.txt
我们在平时写Python工程项目的时候,常常需要生成第三方模块依赖包文件requirements.txt,用于声明该项目所需要的Python的第三方模块,同时也方便别人阅读。 为了能够方便快速地生成requirements.txt文件,我们可以借助Python的第三方模块:pipreqs,其官方网址为:https://github.com/bndr/pipreqs 。有了这个模块,我们就不...原创 2020-03-06 22:15:49 · 2091 阅读 · 0 评论 -
tqdm, pyyaml, traceback的使用
tqdmpyyamltraceback原创 2020-03-04 23:48:42 · 328 阅读 · 0 评论 -
Python之Windows系统中的文件保存错误
在本文中,将记录笔者今天遇到的一个Python问题,即:由于操作系统的不同,保存文件名会产生问题。 我们以Mac系统和Windows系统为例,使用下面的Python脚本来保存一个Excel文件,代码如下:# -*- coding: utf-8 -*-import xlwt, datetime# 创建一个workbook 设置编码workbook = xlwt.Workbook(e...原创 2020-02-19 21:27:38 · 2609 阅读 · 1 评论 -
pandas使用的25个技巧
本文翻译自https://nbviewer.jupyter.org/github/justmarkham/pandas-videos/blob/master/top_25_pandas_tricks.ipynb ,翻译如有不当之处,还请批评指正。 首先我们需要先提前下载好示例数据集:drinksbycountry.csv : http://bit.ly/drinksbycountry...原创 2020-02-13 22:06:50 · 1933 阅读 · 0 评论 -
利用PyCharm进行MySQL数据库可视化操作
MySQL数据库的可视化工具有很多,比如MySQL Workbench,Navicat,DBeaver等,那么如何利用PyCharm进行MySQL数据库可视化操作? 首先我们需要在PyCharm安装MySQL数据库的可视化插件,...原创 2020-02-04 14:16:28 · 6742 阅读 · 0 评论 -
利用JMeter测试Tornado的多线程
JMeter的简介 JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。 JMeter的下载网址为:https://jmeter.apache.org/download_...原创 2020-01-11 18:11:35 · 1045 阅读 · 0 评论 -
使用SQLAlchemy操作MySQL
SQLAlchemy是Python编程语言下的一款开源软件,提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。SQLAlchemy首次发行于2006年2月,并迅速地在Python社区中最广泛使用的ORM工具之一,不亚于Django的ORM框架。 本文将介绍如何使用SQLAlchemy操作MySQL,完成基础的表创建,表格数据的新增、查询、修改、删除(CRUD)等操作。...原创 2019-12-30 21:07:01 · 1118 阅读 · 0 评论 -
计算斐波那契数列的性能对比:Python,Java,Go
本文采用递归办法来计算斐波那契数列中的第38项,用于对于三种计算机语言的计算性能,这三种语言为:Python,Java,Go。 我们采用递归法来求解斐波那契数列的第n项f(n),其算法描述如下:function fib(n) if n = 0 return 0 if n = 1 return 1 return fib(n − 1) + fib(n − 2)对于...原创 2019-12-28 21:44:00 · 1351 阅读 · 0 评论 -
利用PyCharm操作Github(二):分支新建、切换、合并、删除
在文章利用PyCharm操作Github:仓库新建、更新,代码回滚中,我们已经学习到了如何利用PyCharm来操作Github,其中包括了一些常见的Github操作:仓库的新建、更新以及代码回滚。在本文中,我们将介绍Git的另一部分的常见操作:分支新建、切换、合并、删除,这些操作我们将借助PyCharm来实现,用Github作为Git的演示。 我们假定读者已经在PyCharm中设置好了Gi...原创 2019-12-21 18:11:05 · 5358 阅读 · 1 评论 -
利用PyCharm操作Github:仓库新建、更新,代码回滚
Github是目前世界上最流行的代码存储和分享平台,而PyCharm是Python圈中最流行的IDE,它很好地支持了Git操作。本文将会介绍如何利用PyCharm来连接Github,同时演示Github上的仓库新建、更新,以及代码回滚。 在这之前,需要在你的电脑上安装Git,PyCharm。本文演示的系统为Windows系统,首先我们先从设置讲起。PyCharm设置 我们假定在电脑上...原创 2019-12-17 22:59:15 · 8007 阅读 · 0 评论 -
PDF提取表格的网页工具——Excalibur
在之前的文章另类爬虫:从PDF文件中爬取表格数据中,我们知道如何利用Python的camelot模块,通过写Python程序来提取PDF中的表格数据。本文我们将学习如何用更便捷的工具从PDF中提取表格。 Excalibur是一个用来从PDF中提取表格数据的网页工具,而它正是以camelot为基础。该工具目前只支持文本类型的PDF,而不支持扫描后的PDF文档,关于其说明和使用文档可以参考网址...原创 2019-12-15 20:43:41 · 1589 阅读 · 3 评论 -
利用sklearn对多分类的每个类别进行指标评价
今天晚上,笔者接到客户的一个需要,那就是:对多分类结果的每个类别进行指标评价,也就是需要输出每个类型的精确率(precision),召回率(recall)以及F1值(F1-score)。 对于这个需求,我们可以用sklearn来解决,方法并没有难,笔者在此仅做记录,供自己以后以及读者参考。 我们模拟的数据如下:y_true = ['北京', '上海', '成都', '成都', '上海...原创 2019-11-14 21:59:59 · 6340 阅读 · 5 评论 -
PyCharm的几个使用技巧
PyCharm是个十分强大的Python编辑器,笔者在日常的工作中学到了很多该IDE的使用技巧,有的是从别人那里学到的,有的是自己学习的。笔者深感自己的开发能力不足,因此希望能够将这些使用技巧记录下来,同时也把这些使用技巧分享给读者,希望能对读者有所帮助。 以下将介绍几个简单的PyCharm使用技巧。以Windows系统中的PyCharm使用为例。自定义文件头 在实际的代码编写中,我...原创 2019-11-09 20:13:56 · 4028 阅读 · 0 评论 -
Python之利用Whoosh搭建轻量级搜索
本文将简单介绍Python中的一个轻量级搜索工具Whoosh,并给出相应的使用示例代码。Whoosh简介 Whoosh由Matt Chaput创建,它一开始是一个为Houdini 3D动画软件包的在线文档提供简单、快速的搜索服务工具,之后便慢慢成为一个成熟的搜索解决工具并已开源。 Whoosh纯由Python编写而成,是一个灵活的,方便的,轻量级的搜索引擎工具,现在同时支持Pytho...原创 2019-10-19 20:16:02 · 1518 阅读 · 0 评论 -
Python之合并PDF文件
在日常的学习生活工作中,我们有时会遇到需要合并PDF文件的需求。这时,我们可以利用相关的PDF软件(如Adobe Acrobat Reader DC)来完成这个任务,幸运的是,Python也为我们提供了这方面的处理模块PyPDF2, 借用它,我们可以利用Python代码来很好地完成这项任务。 PyPDF2模块的相关参考文档网址为:https://pythonhosted.org/PyPD...原创 2018-05-18 13:01:24 · 10523 阅读 · 12 评论 -
Python之利用reduce函数求序列的最值及排序
在一般讲述Python的reduce函数的例子中,通常都是拿列表求和来作为例子。那么,是否还有其他例子呢? 本次分享将讲述如何利用Python中的reduce函数对序列求最值以及排序。 我们用reduce函数对序列求最值的想法建立在冒泡排序的算法上。先上例子?from functools import reducefrom random import randintA =...原创 2018-04-26 09:39:41 · 2129 阅读 · 4 评论 -
Python之浅谈exec函数
在Python中,exec()是一个十分有趣且使用的内置函数,不同于eval()函数只能执行计算数学表达式的结果的功能,exec()能够动态地执行复杂的Python代码,能够十分强大。具体的介绍可以参考官方文档: https://docs.python.org/3/library/functions.html#exec 。 本次分享讲简单聊聊exec()函数的用法,希望能给读者一点启示和...原创 2018-04-25 11:11:45 · 14191 阅读 · 1 评论 -
Python之使用Pandas库实现MySQL数据库的读写
本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写。首先我们需要了解点ORM方面的知识。ORM技术 对象关系映射技术,即ORM(Object-Relational Mapping)技术,指的是把关系数据库的表结构映射到对象上,通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 在Python中,最有名的ORM框架是...原创 2018-04-06 16:18:33 · 1660 阅读 · 0 评论 -
Josephus Problem的详细算法及其Python, Java语言的实现
笔者昨天看电视,偶尔看到一集讲述古罗马人与犹太人的战争——马萨达战争,深为震撼,有兴趣的同学可以移步:http://finance.ifeng.com/a/20170627/15491157_0.shtml . 这不仅让笔者想起以前在学数据结构时碰到的Josephus问题: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephu...原创 2018-03-27 20:53:06 · 419 阅读 · 0 评论