Python

以后就玩Python了。交流QQ群:250329766

python标准库difflib介绍

从python2.3起difflib成为了标准库。无需安装即可使用。 之前遇到一个问题,我本地的代码没有问题,而服务器上的则一直报404错误。肉眼对比了一下路径,感觉是完全一样的。在网上找了下字符串对比工具,没有一个好用。 后来还是有个同事眼力好,发现有个一字符的大小写问题导致的。那会如果知道python有difflib库的话,早就把问题解决了。

Python单元测试

因为Python是动态语言。非常动态,不写单元测试真心没法确认自己的代码是正确的。 即使有单元测试,也只证实测试过的代码是可靠的。本文就是来系统介绍下Python中的单元测试。

Mock 在 Python 单元测试中的使用

很多时候,我们编写的软件会直接与那些被标记为“垃圾”的服务交互。用外行人的话说:服务对我们的应用程序很重要,但是我们想要的是交互,而不是那些不想要的副作用,这里的“不想要”是在自动化测试运行的语境中说的。例如:我们正在写一个社交 app,并且想要测试一下 "发布到 Facebook" 的新功能,但是不想每次运行测试集的时候真的发布到 Facebook。 Python 的 unittest 库包含了一个名为 unittest.mock 或者可以称之为依赖的子包,简称为 mock —— 其提供了极其强大和有用的方法,通过它们可以模拟mock并去除那些我们不希望的副作用。

Python标准库abc介绍

很多书都没有提到abc。python本身并没有抽象类,抽象函数。它是能过标准库abc提供的。 以前也热衷于造轮子,现在越来越趋向于去熟悉有哪些轮子,能不造则不造,这样开发起来效率快多了。 用于写代码的时候越少,用于思考的时间就越多。 之前看到的几本书,<python标准库>,<python绝技:运用python成为顶级黑客>,<Head+First+Python(中文版)>,,都没有看到abc库。 直到<python学习手册>里才看到。这本书我也是极力推荐阅读的。 最近看到的<Python高手之路>更是极力推荐abc库,说是大多数人居然不知道abc库的存在,还自己去造轮子。

Python3标准库urllib

做web开发的,和http请求打交道最多了,不得不熟悉的就是urllib。当然爬虫也经常用。并且有好的第三方库requests。 本文就介绍这些东东。

Python信号相关概念及运用

信号是软件中断。信号提供了一种处理异步事件的方法。 不存在编号为0的信号。kill函数对信号编号0有特殊的应用。POSIX.1将此信号编号值称为空信号。 很多条件可以产生信号: 当用户按某些按键时,引发终端产生的信号。(DELETE,Ctrl+C,Ctrl+\,Ctrl+Z)。这些键可以自定义。 硬件异常产生信号:除数为0、无效的内存引用等。 进程调用kill(2)函数可将信号发送到另一个进程或进程组。有限制:只能发送给同一用户的进程,或者发送信号的进程所有者是超级用户。 用户可用kill(1)命令将信号发送给其他进程。 当检测到某种软件条件发生,并应将其通知有关进程时也产生信号。例句SIGURG、SIGPIPE、SIGALRM。

python之logging模块

logging模块是用来做日志记录的。 logging.config用来配置。 logging.handlers用来处理日志,可以是屏幕输出,可以是写文件(文件又可以自动切割文件),可以是发邮件。

Python 中的枚举类型

enum 模块的用法很简单,功能也很明确,但是其实现方式却非常值得学习。如果你想更深入了解更多 Python 中关于 Class 和 Metaclass 的黑魔法,又不知道如何入手,那么不妨阅读一下 enum 的源码,或者关注接下来后面几篇的内容!

Python模块学习:tempfile

应用程序经常要保存一些临时的信息,这些信息不是特别重要,没有必要写在配置文件里,但又不能没有,这时候就可以把这些信息写到临时文件里。其实很多程序在运行的时候,都会产生一大堆临时文件,有些用于保存日志,有些用于保存一些临时数据,还有一些保存一些无关紧要的设置。在windows操作系统中,临时文件一般被保存在这个文件夹下:C:/Documents and Settings/User/Local Settings/Temp。其实我们最常用的IE浏览器在浏览网页的时候,会产生大量的临时文件,这些临时文件一般是我们浏览过的网页的本地副本。Python提供了一个tempfile模块,用来对临时数据进行操作。