Home
Practice
Cancel

2018年,再见

去年的这个时候,我也想写一篇年底总结,无奈自己给自己找了各种理由借口,没写出来。 懒 今年从 8 月份就不爱动笔了,内心里一直有两个小恶魔,争论不休想要干架。一个说,一周 7 天你能蹦出 8 个想法,不写出来谁知道你他娘的是个天才?另外一个说,别老想着当网红,你那屁大的 idea 毛线都不是,写出来自己都懒得看。 其实内心并没什么小恶魔,只是因为懒。 羞 怎么说呢?博客这东...

用 Python 实现简单的 switch/case 语句

在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此。 但今天我们还是来看看如果一定要用Python来Switch / Case,可以怎么玩。 语法约束 我们先定义一下Switch/Case应该怎么表达,为了简单我们可以让它长成这样。 ...

Auto Update Your Pypi Package

Sometimes we mgiht want to make our package update to latest version, let me show you how do I accomplish this. Determine Versions We have to determine current installed package version. def g...

将xmind文件转成可编程数据类型

一个新的轮子。 前言 最近升级了一下xmind2testlink,顺带产生了一个中间轮子:xmindparser。 xmind是知名的思维导图软件,可以用来整理思路,设计测试案例等等。一旦完稿后软件本身支持导出为图片,PDF,Excel 等等文件格式。免费版相对于 Pro 版能导出的文件种类少一些,但有时候你可能想我做的 xmind 能不能通过编程再加工一下,比如集成到某个网页,或...

NodeJS起步两三事

主要是为了备忘,开始接触NodeJS有一段时间,断断续续,年纪也大了时间一长容易忘事情,汗。 安装Node 直接到官网下载LTS版本安装即可,没必要追新功能用最新版。安装Node基本没什么坑,记得加到PATH就好。 Windows双击安装,macOS推荐使用brew安装,完成后在命令行里测试一下。 $ node -v 后期如果没有啥breaking的API改动基本也不用升级。...

使用浏览器的HEADLESS模式进行自动化测试

自动化测试的进阶内容。 了解HEADLESS模式 HEADLESS BROWSER 指的是不需要用户界面的浏览器,这种浏览器在自动化测试和爬虫领域有着广泛的应用。 例如你想在网页上运行一些测试,从网页抓取信息,检查浏览器访问某些资源的状态,定时截取网页等等,你需要的是浏览器处理网页但不一定需要浏览器界面,这些情况都是HEADLESS BROWSER的应用场景。 Chrome 从 ...

Sentry - 处理异常日志的正确姿势

在各种系统和应用里,无论你的代码再完美也还是会抛异常,出错误。今天的主角是当今比较流行的异常记录框架 - Sentry,来了解一下。 关于日志管理 应用越做越复杂,输出日志五花八门,有 print 的,有写 stdout 的,有写 stderr 的, 有写 logging 的,也有自定义 xxx.log 的。那么这将导致平台应用日志分布在各个地方,无法统一管理。而且可能用的还不止一种...

说说Python中的单元测试

单元测试是每种编程语言必学的课题,是保护开发者的强力护盾,每个程序员都在时间允许的情况下尽可能多的写单元测试,今天我们不讨论其必要性,只抛砖引玉聊一聊 Python 中的单元测试,本文仅代表个人看法。 标准库中难以忍受的 unittest 很多时候我们总是认为标准库里的带的总是精挑细选的,如果不经过仔细打磨怎么可能入选为一等公民?但我要告诉你,Python 标准库里的单元测试框架真不...

Python 查找重复文件升级版 - photodup

之前写了一个简化版的使用 Python 查找目录中的重复文件,现在升级了一下,我们来提供一个友好的网页界面。 思路 上一个版本我们非常简单粗暴地将所有文件的 hash 扫描后保存到一个字典中,字典结构大概是这样的: files = [{'hash1':['file/path...','file/path...']}, {'hash2':['file/path......

使用Python查找目录中的重复文件

是这样的,电脑上的堆积的照片有点多,而且重复的照片被放在了不同的目录,占用的空间越来越大,数量也多得已经不太适合人工分辨整理,写个Python脚本来处理吧。 文件的唯一标识 - MD5 假如你要处理的重复文件有不同的文件名,最简单的办法就是通过MD5来确定两个文件是不是一样的。 def md5sum(filename, blocksize=65536): hash = ha...

自动为Flask写的API生成帮助文档

Flask 是 Python 一个非常轻量的库,可以让你毫不费力地写一个简单的网站。如果你需要写一些后台 API 或者准备自动化测试数据时,Flask 是一个非常不错的选择。 一个 API 例子 举个例子,我们可以这样写几个 API,具体实现暂时略过: # views/api.py api = Blueprint('api', __name__) @api.route('/get...

在Windows上搭建Jekyll运行环境

静态页面博客的鼻祖就是Jekyll。 Jekyll 和 Hexo 静态博客目前最流行的也就是 Hexo 和 Jekyll,我一直都是 Hexo 的粉丝和用户,相对于 Jekyll 我想大多数人选择 Hexo 的原因跟我差不多: 安装本地环境简单,只需要 nodejs 和一行命令即可 官网文档非常优秀,极易上手 众多优秀的主题可选,配置功能完善 目录结构清晰易懂,内...

认识 Python 中的 defaultdict

今天我们的主角是defaultdict,同时也会介绍一下魔法方法__missing__(),本文主要来源于网友博客,分享给有需要的人。 默认值可以很方便 众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常。但是有时候,字典中的每个键都存在默认值是非常方便的。例如下面的例子: strings = ('puppy', 'kitten', 'puppy', '...

识别图片中的文字 - Tesseract 和 百度云OCR的对比

当今时代人工智能都已经是烂大街的词了,OCR 应该也很多人都知道。 OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。 本文主要记录了通过 Python 使用 OCR 的两次尝试。 Tesseract T...

【问题】使用Python将字符串过滤并保留关键字

Python 算法备忘。 问题描述 给出一个关键词列表: keys = ['aaa','bbb','ccc'] 给出一个字符串 str,如果字符串中有包含列表 keys 中的子串,则过滤并保留下来,其余部分则删除。请问可以如何实现? 例子: str = 'aaaawtf he heheccc' 过滤后变成: 'aaa ccc' 例子二: str = 'aaabb...