J'ai quelques problèmes en utilisant subprocess.call pour exporter une base de données en utilisant mysqldump. J'utilise Python 3.1 installé sur Windows 7.Qu'est-ce qui cause subprocess.call à sortir le fichier vide lors d'une tentative d'export db avec mysqldump?
from time import gmtime, strftime
import subprocess
DumpDir = "c:/apps/sqlbackup/";
DumpFile = "mysqldump-" + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) + ".sql";
params = [r"mysqldump --user root --password=mypassword --force --flush-privileges --compress --comments mydatabase --result-file=" + DumpDir + DumpFile];
subprocess.call(params, shell=True);
Le code ci-dessus provoque un fichier vide à créer dans le DUMPDIR.
J'ai essayé d'obtenir python d'imprimer la commande pour que je puisse le tester via l'invite CMD en utilisant:
print(subprocess.list2cmdline(params));
Si je colle la sortie à l'invite CMD et l'exécuter, tout fonctionne très bien.
Des idées?
Je suis nouveau sur Python, donc je suis sûr que la réponse est simple mais j'ai essayé tellement de variations pour que ça marche que je n'arrive pas à comprendre ça.