Tag Archives: Python

Python操作MySQL数据库

Python中居然没有内置操纵MySQL数据库的包。

Python中操作MySQL的第三方包很多,本文使用的是MySQL-python 1.2.3。

此接口是符合PEP 249的,即Python通用的数据库操作标准(类似JDBC)。

1、下载、安装
# Download
wget http://downloads.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz[......]

继续阅读

Python多进程并发(multiprocessing)

由于Python设计的限制(我说的是咱们常用的CPython)。最多只能用满1个CPU核心。

Python提供了非常好用的多进程包multiprocessing,你只需要定义一个函数,Python会替你完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。

1、新建单一进程

如果我们新建少量进程,可以如下:
import multiprocessing
import time

def func(msg):
for i in xrange(3):[......]

继续阅读

Python中操控ssh和sftp

在Python(其实任何语言都是)中操控ssh执行远程命令是一个很麻烦的事情……

首先要突破ssh密码的非交互模式,我之前一直用sshpass拼接各种复杂的字符串。

然后是之后的执行命令只能执行一行,或者是很长的字符串,拼接起来很麻烦。

Python中有一个很活跃的包ssh,它fork自大名鼎鼎的Paramiko,后者是经典的ssh模块,不过作者不再维护了。

1、安装
wget http://pypi.python.org/packages/source/s/ssh/s[......]

继续阅读

Python中readline何时算EOF?

其实这个困扰了我很久……

一般情况下,我们是这么读文件的:
for line in open("xxx"):
print line
但是有时候,我们想自己控制读取每一行,即open得到fp后,readline(),何时是退出呢?

经过查找N多文档,得到一种很隐晦的说法是当返回空串时表示退出。

于是写法是:
fp = ....
while True:
line = fp.readline()
if len(line)==0[......]

继续阅读

[转]Python 标准库 urllib2 的使用细节

转载自:Python 标准库 urllib2 的使用细节

Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库。这里总结了一些 urllib2 库的使用细节。

1 Proxy 的设置
2 Timeout 设置
3 在 HTTP Request 中加入特定的 Header
4 Redirect
5 Cookie
6 使用 HTTP 的 PUT 和 DELETE 方法
7 得到 HTT[......]

继续阅读