从python 2.4输入重定向运行shell命令?

我想要实现的是启动以下shell命令:

mysql -h hostAddress -u userName -p userPassword 
databaseName < fileName

从一个python 2.4脚本与一些不一样的东西:

cmd = ["mysql", "-h", ip, "-u", mysqlUser, dbName, "<", file]
subprocess.call(cmd)

这个pukes由于使用重定向符号(我相信) – mysql没有收到输入文件.

我也试过:

subprocess.call(cmd, stdin=subprocess.PIPE)

没有去那里以太

有人可以指定进行shell调用的语法,以便我可以在文件重定向中进行馈送?

提前致谢.

最佳答案
你必须自己将文件提供给mysql stdin.这应该做

import subprocess
...
filename = ...
cmd = ["mysql", "-h", ip, "-u", mysqlUser, dbName]
f = open(filename)
subprocess.call(cmd, stdin=f)

转载注明原文:从python 2.4输入重定向运行shell命令? - 代码日志