【发布时间】:2021-10-18 15:56:29
【问题描述】:
我知道如何在python中执行mysql脚本文件,但是尝试传递参数失败了。
带有 mysql -e 的 Python 代码
filename = 'test.sql'
cmd = ["mysql", "-h", 'local', "-u", 'user', "-p",'123' ,'-e','set @x=333']
process = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
output,err=process.communicate(str.encode("source "+filename))
test.sql
insert into dm.test(a) values(@x);
需要帮助!
【问题讨论】:
-
你这里并没有完全使用python。为什么不能创建连接并执行 SQL?
-
为什么在这里使用
source而不是让process.stdin直接指向test.sql的文件句柄? -
@mad_ 上面只是一个例子,确实,test.sql有几百行,很复杂,我不能一步一步执行。