>
bukan argumen perintah, itu bagian dari sintaks shell. Karena Anda tidak menggunakan shell=True
saat memanggil subprocess.run()
, itu tidak akan berhasil.
Alih-alih menggunakan pengalihan shell, Anda dapat menggunakan stdout
argumen ke subprocess.run()
untuk mengarahkan ulang ke file.
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)