Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysqldump einzelne Tabelle aus Python-Unterprozess

> ist kein Befehlsargument, sondern Teil der Shell-Syntax. Da Sie shell=True nicht verwenden beim Aufruf von subprocess.run() , es wird nicht funktionieren.

Anstelle der Shell-Umleitung können Sie die stdout verwenden Argument für subprocess.run() um zu einer Datei umzuleiten.

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)