>
no es un argumento de comando, es parte de la sintaxis de shell. Ya que no estás usando shell=True
al llamar a subprocess.run()
, no funcionará.
En lugar de usar la redirección de shell, puede usar stdout
argumento para subprocess.run()
para redirigir a un archivo.
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)