我试图从python脚本连接到unix中的mysql。我在脚本中提供了连接到mysql的密码,但终端仍然提示输入密码。这是我到现在为止:使用密码通过python执行unix命令
import os
from subprocess import Popen, PIPE
passwd = "user"
command = "mysql -u root -p"
proc = Popen(command.split(), stdin=PIPE)
proc.communicate(passwd+'\n')[1]
任何人都可以建议我在这里做错了什么。或者有更好的方法来做到这一点。
许多应用程序不使用密码提示'stdin'出于安全原因。可能的重复http://stackoverflow.com/questions/5225542/how-can-i-interact-with-another-program-in-python – cdarke
从mysql文档:*在命令行中指定密码应被视为不安全。您可以使用选项文件来避免在命令行上输入密码。* https://dev.mysql.com/doc/refman/5.6/en/mysql-command-options.html – cdarke