>
não é um argumento de comando, é parte da sintaxe do shell. Como você não está usando shell=True
ao chamar subprocess.run()
, não vai funcionar. Em vez de usar o redirecionamento de shell, você pode usar o
stdout
argumento para subprocess.run()
para redirecionar para um arquivo. 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)