> nie jest argumentem polecenia, jest częścią składni powłoki. Ponieważ nie używasz
shell=True
podczas wywoływania subprocess.run()
, to nie zadziała.
Zamiast używać przekierowania powłoki, możesz użyć stdout
argument do subprocess.run()
aby przekierować do pliku.
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)