> är inte ett kommandoargument, det är en del av skalsyntaxen. Eftersom du inte använder
shell=True
när du anropar subprocess.run()
, det kommer inte att fungera.
Istället för att använda skalomdirigering kan du använda stdout
argument till subprocess.run()
för att omdirigera till en fil.
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)