自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 Python工具箱系列(五十四)

二维码(Quick Response Code)几乎已经渗透到我们日常生活的每一个角落,它是 1994 年发明的一种矩阵条形码,可以用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形。在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。具有一定的校验功能等。二维码的结构充分保证了它的有效性,所以二维码才能够大行其道,成为应用的主流。

2024-07-09 11:08:50 163

原创 Python工具箱系列(五十三)

事实上,可以从本例出发,将公司的LOGO放在再小一些,旋转后复制多次,就可以形成更复杂的水印效果。水印与散列很类似,是一个单向的过程,水印极难去除,即使网上号称的去码神器其实效果真的一般,而且一些基于AI的也只是“合理”的猜想,不是真正的还原。在文字水印时,必须指定中文字体的位置。图片水印其实是2个图片的融合。水印是一种常见的图片处理需求。当既需要展示,又需要保护知识产权时,就需要使用文字或者图片来打水印。下面的代码展示了文字水印与图片水印的过程。此时文字文印的效果如下图所示。

2024-06-17 16:31:43 169

原创 Python工具箱系列(五十二)

打开华为手机的图库,你会发现已经自动进行人脸识别,相片的归类与聚合等工作,甚至于还可以进行一步根据场景来搜索。事实上,当拿出手机进行拍照的这一刻,很多信息已经记录在案,这就是EXIF信息。下述代码完整演示了这个过程。这里我们需要注意的是,并非所有的照片都能够进行解析,必须是携带exif信息的原始图片。当然像一些社交平台也会专门针对exif进行处理,比如微信,你发在朋友圈的图片会自动压缩,所以是不会暴露信息的。exifgps中,不断的进行判断,是因为图片不一定存在exif,也不一定存在gps的定位信息。

2024-04-28 15:57:36 252 1

原创 Python工具箱系列(五十一)

对图片进行九宫格切割,并且放到微信朋友圈曾经风靡一时。对于python来说,这个也非常简单。运行后会将源图片直接切割成为9个图片文件。将它们上传到微信后,就可以组成九宫格图片了,其效果如下图所示。从效果图中可以看出,如果切割点在头部附近会有一些失真的感觉。所以九宫格这种形式还是适合于二次元图片。

2024-03-29 17:01:40 340

原创 Python工具箱系列(五十)

以下python代码演示了如何将一幅美女图进行多种加工处理,并且汇集在一起,形成一个类似于照片墙的相关操作。在这个照片墙上,每种加工的名称都输出到图片的左上侧。最后一个图是剪切图,小于照片墙预留的空间,所以显得奇怪一些。运行后的效果如下图所示。

2024-03-05 09:08:24 415

原创 Python工具箱系列(四十九)

现实世界中,图片是经常需要处理的二进制文件类型。

2024-01-31 09:27:02 437

原创 Python工具箱系列(四十八)

笔者经常要组织大型文档的汇总(例如标书),此时文档中插入的图片各式各样,缩写时也无从知道图片在整个文档中的顺序,所以对所有图片加题注就是一件非常费时的工作。如果人工调整,非常枯燥费力,此时python就可以大显神威,完成大量的自动化的工作,最后再辅以少量的人工即可。以下代码显示了对docx中的图片与表格进行调整的技巧。其中-f选项表示处理文档中的图片,-t选项表示处理文档中的表格。当大型docx文档中的图片数以千百计时,上述代码能够节省大量的时间精力,值得花些时间调整。上述代码的用例如下。

2024-01-18 10:59:26 364

原创 Python工具箱系列(四十七)

这份标准引发了全球政府的关注,推动了文档标准化的进程。由于存在多人编辑的可能性,经常一个微小更改,导致整个DOCX的版面出现混乱的现象,此时python就大有用武之地了。微软最近几年,积极投身开源运动,不仅购买了github震惊世界,还在自家操作操作系统上实现了WSL,与Linux实现了一家亲。之所以微软如此大手笔,原因之一就是微软的Office贡献了大把的现金,简直就是印钞机。python win32com的能力远超python-docx,但操作方法与思路类似于VBA,完全不是python的风格。

2024-01-05 11:30:17 371

原创 Python工具箱系列(四十六)

PDF(Portable Document Format)是一种便携文档格式,它基于PostScripty这种脚本语言。

2023-11-24 10:30:17 197

原创 Python工具箱系列(四十五)

mmap是python内置标准库,提供将文件映射到内存的机制。

2023-11-06 16:26:48 97

原创 Python工具箱系列(四十四)

7z是一种主流高效的压缩格式,它拥有极高的压缩比。

2023-10-23 13:55:20 144

原创 Python工具箱系列(四十三)

tar命令是Unix/Linux平台用的最多的命令之一。

2023-09-27 15:15:57 88

原创 Python工具箱系列(四十二)

rar是广受好评,使用广泛的压缩格式,开发者为尤金·罗谢尔(俄语:Евгений Лазаревич Рошал,拉丁转写:Yevgeny Lazarevich Roshal),RAR的全名是“Roshal ARchive”,即“罗谢尔的归档”之意。尤其是winrar一度成为windows上的必备软件。

2023-09-11 15:54:25 115

原创 Python工具箱系列(四十一)

前文的代码示例了使用gzip对单个文件进行压缩。本文示例使用更通用的zipfile来批量压缩文件。zipfile也是python内置的库,使用起来非常方便。

2023-08-28 17:02:02 1277

原创 Python工具箱系列(四十)

这是python提供的压缩模块,便于用户对数据、文件进行压缩。功能类似于 GNU 应用程序gzip和gunzip。以下代码压缩一段字节流。

2023-08-22 15:00:13 133

原创 Python工具箱系列(三十九)

现实世界中,大量存在着对数据压缩的需求。为此,python内置了zlib压缩库,可以方便的对任意对象进行压缩。

2023-07-31 11:35:17 80

原创 Python工具箱系列(三十八)

上文介绍将类的属性值保存到二进制文件的基本操作。在实际中,还有可能保存文本信息。例如,传感器可能还会有自己所在区域的信息。此时,对于二进制文件的读写提出了挑战。如何才能够在读取时,知道所读的字节是整数、浮点数而不是字符呢?

2023-07-13 10:37:36 80

原创 Python工具箱系列(三十七)

python比较擅长与文本相关的操作。但现实世界中,对于非文本消息的处理也很普遍。例如:◆通过有线、无线传递传感器获得的测量数据。◆卫星通过电磁波发送测量数据。◆数据中心的数万台服务器发送当前CPU的占用率信息、内存占用量等众多指标数据。

2023-06-26 10:28:53 3326

原创 Python工具箱系列(三十六)

Docker提供了基于镜像的运行环境,可以将操作系统、应用程序以及相关依赖打包,为使用者提供完整的使用体验,因此一经推出大获好评,迅速成为主流的软件开发技术之一。

2023-06-20 16:57:58 69

原创 Python工具箱系列(三十四)

SQLAlchemy是著名的ORM(Object Relational Mapping-对象关系映射)框架。其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来。对许多语言(例如JAVA/PYTHON)来说就是定义一个对象,并且这个对象对应着一张数据库的表。而这个对象的实例,就对应着表中的一条记录。

2023-06-12 10:53:27 57

原创 Python工具箱系列(三十三)

TimeScaleDB已经将数据按30分钟来聚合分析。当然,改成任意时间也是可以的,例如,可以改成5秒分析一次也可以,生成结果的时间也非常快。

2023-05-29 11:20:05 91

原创 Python工具箱系列(三十二)

Elasticsearch是一个基于Lucene的搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful 的API接口。

2023-05-26 10:25:29 49

原创 Python工具箱系列(三十一)

Neo4j是一个高性能的开源的,使用Java语言实现的NoSQL图数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。

2023-05-15 15:01:55 184 1

原创 Python工具箱系列(三十)

MySQL的口号是“世界上最流行的开源关系型数据库”,而PostgreSQL的Slogan则是“世界上最先进的开源关系型数据库(PostgreSQL: The World's Most Advanced Open Source Relational Database)”,一看这就是一对老冤家了。

2023-05-08 09:46:33 126

原创 Python工具箱系列(二十九)

ongoDB号称文档数据库,是目前发展迅速的NoSQL数据库。它由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

2023-03-27 15:40:42 61

原创 Python工具箱系列(二十八)

Access也是微软Office套餐中的经典产品。虽然在许多人眼里,Access已经是上古时代的产品,但实际上它一直深受好评,并且稳定发展。之所以在许多IT人士眼里,Access不值一提的主要原因恰恰也是它深受非专业人士喜欢的原因:专供非IT人士自用的数据库。

2023-03-23 17:13:23 46

原创 Python工具箱系列(二十七)

Excel是微软出品的办公神器,大部分读者相信或多或少都用过。其自带的函数丰富,可以进行复杂的数据运算、分析以及可视化的输出。到目前为止没有出现可以望其项背的竞品,大部分竞品不是在模仿的路上,就是在失败的路上。

2023-03-20 11:09:10 50

原创 Python工具箱系列(二十六)

ClickHouse(Click Stream,Data WareHouse)是俄罗斯的 Yandex于2016年开源的用于在线分析处理查询(OLAP:Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。特别值得称道的是Clickhouse没有走hadoop生态,采用 Local attached storage 作为存储,而hadoop目前已经发展的臃肿不堪了。

2023-02-24 10:04:52 110

原创 Python工具箱系列(二十五)

Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

2023-02-24 09:40:27 61

原创 Python工具箱系列(二十四)

不管多少人黑微软,微软出品的大多数产品都能够深入人心,成为精品。在数据库领域,微软为专业人士提供SQL Server(简称mssql)。为日常办公人士提供Access与Excel这两款数据存储与分析的神器。

2023-02-23 11:41:56 48

原创 Python工具箱系列(二十三)

在新版本的pandas中,上述代码会引起警告,建议改成SQLAlchemy connectable(engine/connection),后续代码将引入这种升级的连接方式。

2023-02-23 11:22:46 70

原创 Python工具箱系列(二十二)

互联网世界里最流行的开源关系型数据库之一就是MySQL/MariaDB了,由于高度的相似,故而直接使用mysql统一指称。

2023-02-14 10:05:06 66

原创 Python工具箱系列(二十一)

为了方便准备试验用的数据,建议使用Faker这个库来模拟。Faker是一个Python软件包,可生成伪造数据。无论是需要引导数据库,创建美观的XML文档,填充持久性以进行压力测试,还是匿名化来自生产服务的数据,Faker都能完美实现。

2023-02-06 14:44:01 71

原创 Python工具箱系列(二十)

数据库操作应是所有合格程序员的基本功,写的一手好SQL对于数据分析师而言更是安身立命之本。大部分软件开发人员使用的数据库都是MySql/MariaDB,毕竟LAMP(linux+apache+mysql+php)曾经风靡一时。

2023-02-06 14:35:23 87

原创 Python工具箱系列(十九)

密码学在互联网应用的四个目标:机密性、完整性、身份验证、防抵赖。到目前为止,我们讨论的技术中,其中防抵赖的目标并没有达到。

2023-01-09 15:24:14 74

原创 通过持续交付提升发布效率

前期我们提到,在研发过程中,可能由于迭代变化或需求调整等等原因会导致团队欠很多技术债,从而导致随着项目的运行,技术债务越积越多,导致给用户交付越来越慢,交付的软件质量越来越差,最终不可控,拖延整体交付进度,系统不可控等很多问题。在实际研发工作过程中,我们基于一些工程学的方法,借助一些工具与方法,结合科学的流程,能够对降低技术负债起到一定的作用。

2023-01-04 15:12:15 152

原创 浅谈研发实践的技术债与效能提升

在软件研发过程中,往往随着为了快速满足业务要求的压力,用户需求的变更,软件代码的增多,以及版本的迭代,团队成员的变化等等因素,导致一个软件项目随着时间推移,欠的技术债会越积越多,用户使用容易出错,部署流程也变得复杂。

2023-01-03 16:06:03 132

原创 Python工具箱系列(十八)

非对称加解密应用广泛,它的存在是致力于解决密钥通过公共信道传输这一经典难题。对称加密有一个天然的缺点,就是加密方和解密方都要持有同样的密钥,而这个密钥在传递过程中有可能会被截获,从而使加解密失效。难不成还要为密钥的传输再做一次加密?这样不就陷入了死循环?或许有人在想,密钥即使被盗取,不还有加密算法保证信息安全吗?但任何算法最终都会被破译,所以不能依赖算法的复杂度来保证安全。

2022-12-12 16:45:03 116

原创 Python工具箱系列(十七)

很多软件工程师都认为MD5是一种加密算法,然而这种观点是不对的。作为一个 1992 年第一次被公开的算法,到今天为止已经被发现了一些致命的漏洞。本文讨论MD5在密码保存方面的一些问题。

2022-12-06 09:34:44 231

原创 Python工具箱系列(十六)

前面介绍了对称加密算法,本文将介绍密码学中另一类重要应用:消息摘要(Digest)什么是消息摘要?简单的定义是:对一份数据,进行一个单向的Hash函数,生成一个固定长度的Hash值,这个值就是这份数据的摘要,也称为指纹。

2022-12-05 17:39:15 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除