博客

在我们的博客中, 记录了我们在开发过程中所使用的技术和遇到的问题, 希望作为其他开发和设计者的一个学习交流平台.

博客

25
7月
2014

pyRserve: 连接远程 R 语言进程的 Python 客户端

pyRserve是一个纯pyhton的客户端, 用于连接远程的R进程. R是现在开源界最重要和最广为使用的统计语言. 通过pyRserve连接R进程, 可以在python中最大的利用R语言. pyRserve的安装不需要其他依赖包, 子需要使用pip安装即可. 简单的使用代码如下: >>> import pyRserve ......

16
7月
2014

Python中使用Faker创建虚拟数据

在测试数据库时, 我们经常会需要用到假数据来支持代码的运行. 本篇就介绍一下Faker, Faker的唯一功能就是生成半随机的虚假数据, 例如名字, 地址, 域名, 段落等. 创建virtualenv, 并安装Faker: mkvirtualenv test pip install fake-factory 创建假名字: ......

15
7月
2014

Python中如何重新引入被覆盖的自带function

最近在写python应用时遇到一个问题: 引入某个模块时会自动引入自定义的int到python的namespace中, 从而覆盖了python自带的int function. 因为我们需要使用python的int, 所以不得不找到重新引入这int的方法: 幸运的是, 这一问题还是很容易解决的, 我们只需要使用__builtins__: from ......

14
7月
2014

lxml的元素构建器和CDATA对象

lxml有着非常好用的元素构建器, 但对于CDATA对象似乎没这么给力: >>> from lxml.builder import E >>> from lxml.etree import CDATA >>> E.stuff(CDATA('Some stuff that ne......

13
7月
2014

如何在Python中发送邮件

使用python发送邮件有以下几种情况: 纯文本的邮件 带附件的邮件 其他邮件 首先我们使用virtualenv创建环境: $ virtualenv env $ env/bin/pip install wheezy.core 纯文本邮件 直接上代码: # plain.py from wheezy......

11
7月
2014

可重复使用的 juju charm: ansible role

我们时常会使用juju charms来自动化部署许多不同的paas, 大多数是wsgi应用. 我们通常使用ansible使juju charms自动化部署更加轻松, 但是每个wsgi charm还是得重复坐以下相同的事情: 设置特定的用户 安装build代码到特定目录 安装依赖包 与后台连接(postesql, elasticsearch等) ......

04
7月
2014

使用 pyrrd 收集系统信息

上星期, 我们想测试几个WSGI应用的评分, 由于不同的concurrency模式, 使我们很难一一设置并评测. 其中的系统信息也是一项重要的指标, 例如CPU消耗, 内存消耗等信息的收集和图像化. RRDtool是一个广泛使用的测试工具. 我们可以通过pyrrd和subprocess模块对每个WSGI应用进行测试: from pyrrd.rrd ......

04
7月
2014

写在Python模块顶层的代码引起的一个Bug

几个星期前, 我的同事跑过来, 说发现一个奇怪的Bug: 在使用Python的subprocess运行子进程时, 当子进程运行失败时居然没有抛出错误! 然后我们在Interactive Python prompt中测试了一下: >>> import subprocess >>> subprocess.c......

03
7月
2014

Python Deque 模块简单介绍和示例

Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除. 创建Deque序列: from collections import deque d = deque() Deque提供了类似list的操作方法: d = deque()......