使用python从mysql select语句捕获输出

时间:2010-03-17 18:21:40

标签: python

使用Python2.4我想捕获mysql命令的输出。需要注意的是,我需要使用echo来管道SQL语句。

echo 'SELECT user FROM mysql.user;' | mysql

我看到使用call,os.system,popen的例子,但最好用于我的python版本并在元组中捕获输出。

由于

1 个答案:

答案 0 :(得分:1)

子进程模块是运行命令和控制输入和输出的最灵活的工具。以下命令运行命令并将输出捕获为行列表:

import subprocess

p = subprocess.Popen(['/bin/bash', '-c', "echo 'select user from mysql.user;' | mysql" ],
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

lines = [line for line in p.stdout]

在Windows上,bash -c将替换为cmd / c。