小编Cra*_*g L的帖子

popen和mysql的python问题

我是Python的新手,而且已经好几年没有使用Linux了,所以我不确定我在哪里纠结。我正在尝试使用Popen在Ubuntu上的MySQL中运行sql文件。

以下是相关代码:

command = ['mysql', '-uUSER', '-pPWD','-h192.168.1.132',  '--database=dbName', '<', './1477597236_foo.sql' ]
print("command is: "+subprocess.list2cmdline(command))

proc = subprocess.Popen(
    command, stderr=subprocess.PIPE, stdout=subprocess.PIPE, cwd='.'
)
Run Code Online (Sandbox Code Playgroud)

其输出与运行'mysql --help'相同。让我感到困惑的是,如果我接受subprocess.list2cmdline的命令输出并直接运行它,它将运行得很好。另外,如果我替换'< file.sql''-e select * from foo',它将运行。因此,'<'和文件导致了我的问题。我知道是什么引起了这个问题,但是到目前为止我还没有尝试过解决问题的方法。

tia,克雷格

python mysql popen

3
推荐指数
1
解决办法
1657
查看次数

标签 统计

mysql ×1

popen ×1

python ×1