使用Python2.4我想捕获mysql命令的输出。需要注意的是,我需要使用echo来管道SQL语句。
echo 'SELECT user FROM mysql.user;' | mysql
我看到使用call,os.system,popen的例子,但最好用于我的python版本并在元组中捕获输出。
由于
答案 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。