データベースを復元するためのPythonスクリプトを作成しようとしています。すべてのテーブルを(個別に)リポジトリに保存します。「sourcetable1.sql、source table2.sql、..」と入力するのは面倒なので、これを自動的に行うスクリプトを作成しました。
Popenを使用した解決策を見つけました。
process = Popen('mysql %s -u%s -p%s' % (db, "root", ""), stdout=PIPE, stdin=PIPE, shell=True)
output = process.communicate('source' + file)[0]
この方法は非常にうまく機能しているように見えますが、テーブルごとにパスワードの入力を求められます。これをバイパスして、パスワードの入力を1回だけ要求するか、サブプロセスに構成ファイルからパスワードを読み取らせるにはどうすればよいですか?
これを行うためのより良い方法はありますか?私はWindowsバッチスクリプトを使用してこれを実行しようとしましたが、ご想像のとおり、これはpythonを使用するよりもはるかに柔軟性がありません(たとえば)