Python

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

emacs 一文入门

一直是用vim的,之前虽然知道有emacs,也知道emacs和vim之争,印象中只有一句话:"vim是编辑器之神,emacs是神的编辑器。" 那会试了下emacs,不知道怎么关闭,直接强关的终端。 看了《黑客与画家》后,看作者对lisp的推崇,产生了点兴趣,百科了下。发现说法看得我晕了,当时放弃了。之后又看到本书 《程序员的呐喊》,一个google工程师写的。也是比较推荐lisp。然后各种搜索看大家的看法。兴趣又调了起来。于是开始学习, 发现教程都是以emacs开始的,于是也学习了emacs,折腾了一天一夜,终于觉得可以开始实际用起来了。于是开始写这个笔记了。

mac下python编辑器

选择一款合适的编辑器有助于快速开发。 本文将会介绍3个。PyCharm、vim、emacs。 笔者在mac osx下这三个都用过,依次接触的vim,emacs,PyCharm。 后面两个是资深党用的,不建议初学者玩。 我个人是打算用emacs,然后用vim的编辑模式。

Python信号相关概念及运用

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

Python多进程相关概念及解释

由于GIL的存在,为了利用多核的优势,Python程序员不得不使用多进程。(多线程在PYthon中仅在IO密集型任务中有优势)。 Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。

python多线程相关概念及解释

多线程是为了抢占资源而设计的。同样作用的有多进程,不过因为线程的创建和切换代价远比进程低,一般是选择线程来执行多任务。因为线程会共享进程内的资源,为了处理多个线程处理相同的资源,又多出了锁的概念。 而本身线程的创建其实也是有代价的,为了避免反复的创建和销毁,又有了线程池的概念。

blog_mini bug修复记录1

发现有篇文章只显示了一半。编辑之后再发布,还是只有一半。另外发布的时候感觉比较慢。

python之logging模块

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

Python元类

从某种意义上讲,元类只是扩展了装饰器的代码插入模式。 元类主要是针对那些构建API和工具供他人使用的程序员。 Python构建工具: 内省属性。如__class__、__dict__ 运算符重载方法。如__str__、__add__ 属性拦截方法。如__getattr__、__setattr__、__getattribute__。 类特性。内置函数property。拦截特定的属性。 类属性描述符。拦截特定的属性。特定只是定义根据访问自动运行函数的属性描述符的一种简洁方式。 函数和类装饰器。 元类。

Python模块学习:tempfile

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

python绝技:运用python成为顶级黑客

有简单的基础语法介绍,最好还是先有系统学过python再看这本书,会事半功倍。 书籍偏老,2012年的,有些链接失效。另外建议学习期间使用virtualenv, 避免影响到其它项目。 建议看原版,翻译的感觉很一般,有点像是google翻译的。虽然连蒙带猜的看懂,看的有点痛苦,还是建议翻原版,篇幅主要是代码, 英文应该也好看。 有些示例代码可能得相应地改下。譬如pexpect连接ssh那个,代码里是期望提示值是password: 但是我测试的Centos的格式是user@host's password: 需要自己根据情况去修改下。 ftp破解后,上传文件的代码在python3上执行失败,抛异常了。python2.7没事。 建议用python2.7来运行他的代码。 里面的攻击手段其实已经过期了,仅能参考下。