我试图使用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
您的问题是您还必须从路径中
\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)