The simplest fraction

We could make our own fraction class though there is already one in python with the class name of Fractions. Now let’s try it out.

django+redis

需要django-redis插件:https://django-redis.readthedocs.org/
不过安装它之前得先安装redis-py:https://github.com/andymccurdy/redis-py/
git clone下来后,运行python setup.py install 就ok了

python的系统底层操作6——硬断点

前一篇分析了软断点的原理和它的实现。对于软断点,有时候会不起作用。因为有一些软件会检测自己在内存中运行的代码的CRC校验值,一旦检测失败就会进行“自我了断”,而软断点就是要修改内存中运行的代码,这对于这种软件是行不通的,只能用“硬断点”和内存断点。本文主要分析硬断点。

python的系统底层操作5—软断点

  进(线)程中的数据可能是时刻变化的,为了能得到它们内部的数据,或者你想知道当代码运行到某些地方时,内存或CPU里面都有些什么数据,这时你就要先让进(线)程停下来,这个在前面的博客中已经提到,更进一步地,我们要它在我们想要的地方停下来,这就要涉及到断点了。平时经常写代码调代码的朋友对断点应该很熟悉了,下文会简单地分析这些断点的分类及原理。

python的系统底层操作4—寄存器

上一篇博客中, 我们可以新建一个进程,附加另一个正在运行的进程,使原来的挂起。而对于调试一个进程,我们最感兴趣的就是能看到它运行的汇编代码和寄存器上的信息,特别是后者,是我们了解当前进程运行环境的关键,而且我们可以根据寄存器上的EIP得到当前正在运行的代码所在的内存地址。。

python的系统底层操作3——进程注入

为了能够取得在运行的某个进程在内存中的数据,就得附加到某个进程里面去。由进程的pid调用OpenProcess来取得进程的句柄,之后有了这个句柄就可以做很多事情啦!  

批量转换编码的python实现

项目中看到别人代码的编码格式好多gbk的,在有些编辑器里打开经常会各种乱码,写了个脚本,把一个文件夹里的所有文件的编码都改成utf-8的:

转IP地址为长整数的脚本(python)

我们可以用一个ip来代替网址访问一个网站 ,如可以用http://220.181.111.148来访问百度。其实ip地址可以用一个32位的整数来表示,由点隔成四段,每段就是1 byte,由此我们可以试试用一个32位的整数来代替ip地址,看能不能访问百度。220.181.111.148,这个地址转化成整数后,得到3702878100,尝试了下用http://3702878100来访问,果然可以。

计算生日悖论(python)

闲着无聊,突然想到生日悖论,写个代码去验证一下。
多少人在一个房间,才能使得至少两个人同一天生日的概率大于1/2?