> is geen commando-argument, het maakt deel uit van de shell-syntaxis. Aangezien u shell=True . niet gebruikt bij het aanroepen van subprocess.run() , het zal niet werken.
In plaats van shell-omleiding te gebruiken, kunt u de stdout . gebruiken argument naar subprocess.run() om naar een bestand om te leiden.
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)