我想要实现的是启动以下
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",dbName] f = open(filename) subprocess.call(cmd,stdin=f)