Je suis en train d'exécuter une commande à partir d'un fichier python:mot de passe est utilisé comme commande
p = subprocess.Popen("mysqldump -h" + hostname + " -u" + mysql_user + " --password=" + mysql_pw + " " + db + " > dump_" + hostname + "_" + timestamp + ".sql", shell=True)
Mais le --password=
et même -p
continue à me pendre sur ma chaîne de mot de passe
Le mot de passe est similaire à la structure suivante:
[email protected]&sfeafxegwa
l'erreur de ligne de commande:
'sfeafxegwa' is not recognized as an internal or external command,
operable program or batch file.
Essayez d'utiliser: '--password = ' » + mysql_pw + " »" + db' Le single '&' est interprété par bash, et en forçant la première moitié de la commande en tant que son propre processus, puis en échouant sur la seconde moitié.Le ci-dessus va ajouter des guillemets simples autour de la chaîne de mot de passe .. –
Aussi, à mon humble avis cela serait beaucoup plus lisible à l'aide de chaînes de format –
@MattClark qui a beaucoup de sens, mais je reçois toujours une erreur: ''sfeafxegwa' ' ', cette fois avec le supplément' '' Très très vrai @tobias_k - merci! –