subprocess.call を使用して、mysqldump を使用してデータベースをエクスポートする際に問題が発生しています。Windows 7 にインストールされた Python 3.1 を使用しています。
from time import gmtime, strftime
import subprocess
DumpDir = "c:/apps/sqlbackup/";
DumpFile = "mysqldump-" + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) + ".sql";
params = [r"mysqldump --user root --password=mypassword --force --flush-privileges --compress --comments mydatabase --result-file=" + DumpDir + DumpFile];
subprocess.call(params, shell=True);
上記のコードにより、空のファイルが DumpDir に作成されます。
コマンドを印刷するためにpythonを取得しようとしたので、次を使用してCMDプロンプトを介してテストできます。
print(subprocess.list2cmdline(params));
出力を CMD プロンプトに貼り付けて実行すると、すべて正常に動作します。
何か案は?
私はPythonが初めてなので、答えは簡単だと確信していますが、これを機能させるために非常に多くのバリエーションを試しましたが、これを理解することはできません.