>код> не е команден аргумент, той е част от синтаксиса на обвивката. Тъй като не използвате
shell=True
при извикване на subprocess.run()
, няма да работи.
Вместо да използвате пренасочване на обвивката, можете да използвате stdout
аргумент на subprocess.run()
за пренасочване към файл.
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)