随笔分类 -  python

摘要:Python 实现线程式编程非常简单,但是这种方法的一个缺陷就是它并不总是能够提高应用程序的速度,因为全局解释器锁(Global Interpreter Lock,GIL)将线程有效地限制到一个核中。如果需要使用计算机中的所有核,那么通常都需通过 对 经常使用 fork 操作来实现,从而提高速度。处理进程组是件困难的事情,因为为了在进程之间进行通信,需要对所有调用进行协调,这通常会使事情变得更复杂。幸运的是,自 2.6 版本起,Python 包括了一个名为 “多进程(multiprocessing)” 的模块来帮助处理进程。该进程模块的 API 与线程 API 的工作方式有些相似点,但是也存在 阅读全文
posted @ 2013-01-26 20:02 zaleilynn 阅读(272) 评论(0) 推荐(0) 编辑
摘要:最近稍微学习了下python中的paramiko这个模块,发现他的功能还是很强大的,他的上传和下载功能十分适合运维人员的一些日常工作的需要,不 废话了,下面直接上代码了,先说下环境,本文是在centos6的环境下,python的版本是2.6.5,如果你没配好环境,可以看我写的http://www.50rescue.com/index.php/archives/10/ 这里来配置好环境,建议你一定要按照好easy_inatall这个工具,在学习中,感觉离不开她 了,呵呵。。。。贴别提醒:论坛的编辑器我不太会使用,我把源代码复制在文本文件里,传了上来,需要的可以下载:下面是上传的代码:[root@ 阅读全文
posted @ 2013-01-26 19:06 zaleilynn 阅读(475) 评论(0) 推荐(0) 编辑
摘要:1.类型 c++ any 类型虽然可以作为一个任何类型变量进行使用,但是static_cast经常出错2.指针涉及到继承,指针相当复杂,特别容易出错。C++ 大家经常看到的断错误,大部分都是因为指针使用不当3.内存管理c++要自己管内存,十分容易内存泄露4.动态绑定能力 python可以把一个字符串作为一个函数调用,c++实现类类似功能比较麻烦5.包 python 各种包十分简单,由于有list 和 dict的帮助,学习使用起来十分方便 阅读全文
posted @ 2012-04-11 12:38 zaleilynn 阅读(203) 评论(0) 推荐(0) 编辑
摘要:简介:paramiko是python(2.2或更高)的模块,遵循SSH2协议实现了安全(加密和认证)连接远程机器。安装所需软件包:http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.5.tar.gzhttp://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gztar zxvf pycrypto-2.5.tar.gzcd pycrypto-2.5python setup.py buildpython setup.py installtar zxvf paramiko-1.7. 阅读全文
posted @ 2012-04-06 09:53 zaleilynn 阅读(740) 评论(0) 推荐(1) 编辑
摘要:第一部分阅读Zen of Python,在Python解析器中输入import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!"毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万视频的请求. 你所要做的就是编写高效的代码和需要时使用外部实现(C/C++)代码. 这里有一些建议,可以帮助你成为一个更好的Python开发者:1.使用内建函数: 你可以用Python写出高 阅读全文
posted @ 2012-03-26 21:19 zaleilynn 阅读(170) 评论(0) 推荐(0) 编辑
摘要:在Windows下成功地搭好了一个Python开发环境,这次转战Ubuntu有了前面的经验,相对轻松多了还发现Ubuntu下的操作反而比Windows方便些。安装环境Intel Core 7250(双核),操作系统Ubuntu 10.04.11.安装OpenJDK6sudo apt-get install openjdk-6-jdk选用OpenJDK的原因是他已经通过测试,完美兼容JDK,并在Linux更新源中已经取代了sun-java6-jdk了。(注1)2.安装Eclipsesudo apt-get install eclipseUbuntu 10.04已经自带Python 2.6了。4. 阅读全文
posted @ 2012-03-21 21:31 zaleilynn 阅读(256) 评论(0) 推荐(0) 编辑
摘要:os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。 os.listdir()返回指定目录下的所有文件和目录名。 os.remove()函数用来删除一个文件。 os.system()函数用来运行shell命令。 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os.chdir(dirname):改变工作目录到dirnameos.path.isdir(name):判断name是不是一个目录,name不是目录就返回false os.path.isfile(name):判断name是不是一个文件,不存. 阅读全文
posted @ 2012-03-18 17:19 zaleilynn 阅读(373) 评论(0) 推荐(0) 编辑
摘要:A simple unix/linux daemon in Pythonby Sander MarechalI've written a simple Python class for creating daemons on unix/linux systems. It was pieced together for various other examples, mostly corrections to various Python Cookbook articles and a couple of examples posted to the Python mailing lis 阅读全文
posted @ 2012-03-03 23:24 zaleilynn 阅读(2226) 评论(0) 推荐(0) 编辑
摘要:1 print 1 and 2 输出 2 and的操作符是 1如果是false返回false,如果为true就返回第二个式的值2 a = 1 b = a 赋值的是引用 增量赋值相对普通赋值不仅仅是写法上的改变,最有意义的变化是第一个对象仅被处理一次。可变对象会被就地修改(无修拷贝引用), 不可变对象则和 A = A +B 的结果一样(分配一个新对象),有一个例外就是 A 仅被求值一次。(后面例外的含义是什么?) 但a += 1 分配的是新对象 阅读全文
posted @ 2012-03-03 16:19 zaleilynn 阅读(154) 评论(0) 推荐(0) 编辑
摘要:最近在编写python socket程序的时候,师弟推荐了python的epoll调用,现将学习的东西总结如下:异步socket的益处和linux epoll通常情况下,我们使用的是阻塞的socket,这个就需要一个线程(或者一个复杂的进程)去执行在每个socket上面的通信工作。主程序线程包含服务器监听套接字接受来自客户端的连接请求并一次接受一个连接,并将新创建的socket传递给一个不同的线程以与客户端进行交互。但是这个模型有以下的问题:1.当共享资源的时候,很难保证这些线程正确的协同工作2.当仅仅只有一个CPU的时候这种编程方式可能效率很低异步socket可以很好的解决这个问题。这些so 阅读全文
posted @ 2012-02-11 09:43 zaleilynn 阅读(1696) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示