提问者:小点点

使用Python为MySQL转储导入执行多个cmd命令


我试图使用Python将MySQL转储文件导入到本地服务器上,但出现了一些错误。

如果我在cmd提示窗口中分别执行以下两个命令,则可以正常工作:

--> cd "C:\Program Files\MySQL\MySQL Server 5.7\bin"
--> mysql -u root -p database < "C:\Users\Tom\data.sql"

但是,我想将其自动化,因此在Python中尝试了以下操作:

import os
p = 'mysql -u root -p database < "C:\Users\Tom\data.sql"'
os.system('cmd /c "CD "C:\Program Files\MySQL\MySQL Server 5.7\\bin &&""' + p)

显示错误:

Syntax Error: (unicode error) 'unicodeescape' codec cant decode bytes in position 44-45: truncated \UXXXXXXXX escape
 

共1个答案

匿名用户

您的问题是您还必须从路径中

\u表示,例如,在它后面是一个unicode序列,因此通过转义backslyash,python不再这样做了

import os
p = "mysql -u root -p database < \"C:\\Users\\Tom\\data.sql\""
os.system('CD "c:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\n"' + p)