> er ikke et kommandoargument, det er en del af shell-syntaksen. Da du ikke bruger
shell=True
når du kalder subprocess.run()
, det vil ikke virke.
I stedet for at bruge shell-omdirigering kan du bruge stdout
argument til subprocess.run()
for at omdirigere til 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)