• python模块paramiko与ssh

    Posted by : lon.y@qq.com on 2017年7月4日

    paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。paramiko支持Linux, Solaris, BSD, MacOS X, Windows等平台通过SSH从一个平台连接到另外一个平台。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。 一、paramiko模块的安装 paramiko模块依赖PyCrypto模块,而PyCrypto需要GCC库编译,不过一般发行版的源

    阅读全文...

  • Python 2.x 字符编码终极指南

    Posted by : lon.y@qq.com on 2017年7月4日

    在人机交互之字符编码 一文中对字符编码进行了详细的讨论,并通过一些简单的小程序验证了我们对于字符编码的认识。但仅了解这篇文章的内容,并不能帮我们在日常编程中躲过一些字符编码相关的坑,Stackoverflow 上就有大量编码相关的问题,比如 1,2,3。 本文首先尝试对编码、解码进行一个宏观、直观的解读,然后详细来解释 python2 中的str和unicode,并对常见的UnicodeEncodeError 和 UnicodeDecodeError 异常

    阅读全文...

  • Python装饰器探究——装饰器参数

    Posted by : lon.y@qq.com on 2017年7月4日

    编写传参的装饰器 通常我们见到的简单装饰器这样的: import json import functools def json_output(func): @functools.wraps(decorated) def inner(*args, **kwargs): result = func(*args, **kwargs) return json.dumps(result) return inner @json_output def f(): retu

    阅读全文...

  • 使用 Couchdb-python 操作 CouchDB

    Posted by : lon.y@qq.com on 2017年7月4日

    简介 Couchdb-python 是目前最常用的操作 CouchDB 的第三方 Python 库,其提供了几乎所有 CouchDB RESTful 接口的功能,主要包括三个模块: Client 模块:提供与 CouchDB server 的交互,对数据库的基本操作如增删改查,操作 temporary view 等功能包括在该模块中 View 模块:为用户提供操作 CouchDB 中预定义视图的接口 Mapping 模块:将 Python 对象与 Couc

    阅读全文...

  • Python垃圾回收机制详解

    Posted by : lon.y@qq.com on 2017年7月4日

    一.垃圾回收机制 Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。 在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。 #encoding=utf-8 __author__ = 'kevinlu1010@qq.com' class ClassA(): def __init__(self): print 'object born,id:%s'%str(hex(id(self))) d

    阅读全文...

  • Python用format格式化字符串

    Posted by : lon.y@qq.com on 2017年7月4日

    format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 2.单个参数可以多次输出,参数顺序可以不相同 3.填充方式十分灵活,对齐方式十分强大 4.官方推荐用的方式,%方式将会在后面的版本被淘汰 format的一个例子 print 'hello {0}'.format('world') 会输出hello world format的格式 replace

    阅读全文...

  • Python打包分发工具setuptools简介

    Posted by : lon.y@qq.com on 2017年7月4日

    作为Python标准的打包及分发工具,setuptools可以说相当地简单易用。它会随着Python一起安装在你的机器上。你只需写一个简短的setup.py安装文件,就可以将你的Python应用打包。本文就会介绍下如何编写安装文件及如何打包分发。 首先,如果你需要另外安装setuptools,你可以使用下面的命令: $ wget http://peak.telecommunity.com/dist/ez_setup.py $ sudo python ez_

    阅读全文...

  • 使用Scrapy构建一个网络爬虫

    Posted by : lon.y@qq.com on 2017年7月4日

    记得n年前项目需要一个灵活的爬虫工具,就组织了一个小团队用Java实现了一个爬虫框架,可以根据目标网站的结构、地址和需要的内容,做简单的配置开发,即可实现特定网站的爬虫功能。因为要考虑到各种特殊情形,开发还耗了不少人力。后来发现了Python下有这个Scrapy工具,瞬间觉得之前做的事情都白费了。对于一个普通的网络爬虫功能,Scrapy完全胜任,并把很多复杂的编程都包装好了。本文会介绍如何Scrapy构建一个简单的网络爬虫。 一个基本的爬虫工具,它应该具备

    阅读全文...

  • Python远程部署利器Fabric详解

    Posted by : lon.y@qq.com on 2017年7月4日

    Fabric是一个Python的库,它提供了丰富的同SSH交互的接口,可以用来在本地或远程机器上自动化、流水化地执行Shell命令。因此它非常适合用来做应用的远程部署及系统维护。其上手也极其简单,你需要的只是懂得基本的Shell命令。本文将为大家详细介绍Fabric的使用。 内容索引 安装Fabric 第一个例子 执行本地命令 执行远程命令 SSH功能函数 上下文管理器 错误处理 并行执行 补充 安装Fabric 首先Python的版本必须是2.7以上,可

    阅读全文...

  • Python通过ctypes调用C程序实例

    Posted by : lon.y@qq.com on 2017年7月4日

    在做复杂计算时,Python的执行效率是无法同C比的。而且有些算法已经有开源的C库了,我们也没必要用Python重写一份。那Python怎么调用C语言写的程序库呢?答案就在Python提供的ctypes库,它提供同C语言兼容的数据类型,可以很方便地调用C语言动态链接库中的函数。 使用C标准库函数 我们来试试调用C标准库函数: from ctypes import cdll libc = cdll.LoadLibrary('libc.so.6') # Loa

    阅读全文...