>コード> はコマンド引数ではなく、シェル構文の一部です。
shell =True
を使用していないため subprocess.run()
を呼び出すとき 、機能しません。
シェルリダイレクトを使用する代わりに、 stdout
を使用できます subprocess.run()
への引数 ファイルにリダイレクトします。
args = ["mysqldump", f"-u{DBUser}", f"-h{DBHost}", f"-p{DBPass}", "--no-tablespaces", f'{DatabaseName}', f'{ArchiveTable}']
with open(BucketReadyName, 'w') as outfile:
subprocess.run(args, stdout=outfile)