Mysql
 sql >> Base de données >  >> RDS >> Mysql

table unique mysqldump du sous-processus python

> n'est pas un argument de commande, cela fait partie de la syntaxe du shell. Puisque vous n'utilisez pas shell=True lors de l'appel de subprocess.run() , ça ne marchera pas.

Au lieu d'utiliser la redirection du shell, vous pouvez utiliser le stdout argument de subprocess.run() pour rediriger vers un fichier.

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)