Redis 小案例 (一):实现网站访问频率限制

网站中经常需要用到网站限流,例如限制用户恶意爬虫获取网页信息以及在网站访问流量大时限制访问频率等等,这里使用 redis 做一个简单的网站登录限制案例。 一、使用 EXPIRE 进行访问频率限制 逻辑:用户登入网页,判断是否为第一次登入,如果是,创建一个新键记录访问次数为 1,并设置超时时间。后面再登入时先判 ... 阅读更多

python 获取命令行参数

一、概述 python 获取命令行参数有两种方法,一种是使用 sys 模块直接获取到所有的命令行参数,另一种是使用 getopt 来获取指定标记的参数,后者更灵活一点,但是也复杂一点。 二、 sys 模块获取参数 通过 sys 模块获取命令行参数的方法很简单,直接调用 sys.argv 就可以了,sys.argv 是一 ... 阅读更多

Python SMTP 发送邮件

一、概述 python 提供了两个包来提供 SMTP 邮件服务支持:smtplib 和 email,前者系统内置,后者需要通过 pip 或者其他方式手动安装。其中 smtplib 提供邮件发送功能,email 负责邮件内容的构造。 二、 smtplib 库介绍 2.1 创建一个 smtp 连接对象 [crayon-6 ... 阅读更多

正则表达式从 「入门」 到 「入门」

一、概述 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法 (英语:Regular Expression,在代码中常简写为 regex 、 regexp 或 RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达 ... 阅读更多

python 中的原始表达式

一、概述 在几乎所有的编程语言中,都会有转义字符 这个概念的存在,例如\n 表示换行,\d 表示数字等。 python 也是如此:

在某些情况下它给我们带来了方便,但是在某些情况下又给我们造成了麻烦。 例如当我们打开文件时,文件的路径就得先 ... 阅读更多

python 向上取整、向下取整以及四舍五入的方法

一、概述 昨天用 golang 敲代码时用到了向上取整和向下取整,今天用 python 写报表时又用到了。 查了一下发现和 go 一样,python 也有个 math 包提供了同样的方法 math.ceil() 和 math.floor() 来取整 四舍五入使用 round() 二、使用方法 [crayon-6964 ... 阅读更多

python 中 seek() 函数和 tell() 函数的用法及注意事项

概述 上篇接介绍了文件的基本读写功能,这里将介绍文件指针及相关函数。 文件指针 文件指针是打开文件时就具有的属性,指向文件的位置,每次读文件或者写文件都会从指针位置开始,每次读写都会导致指针偏移相应的字节数。 默认情况下打开文件指针都是指向文件开头,只有当打开模式是追加方式 (a a+) 时文件指针才指 ... 阅读更多