Bonjour @ tous.
Un léger problème s'oppose à moi, depuis plusieurs heures maintenant.
Je cherche à lancer un fichier Batch File à partir de Python.
Jusque là, pas de problème, ces 2 codes fonctionnent :
1 2
| import os
os.system('D:/restore_tmp.bat') |
1 2 3
| import subprocess
subp = subprocess.Popen('D:/restore_tmp.bat')
subp.communicate() |
Le fichier Batch File effectue l'enregistrement d'une base de données Postgres via cette commande :
pg_dump -i -h localhost -p 5432 -U user -E UTF8 -F c -b -v -f "D:\test.backup" my_bdd
Si je lance directement mon Batch File en double cliquant sur le fichier, la restauration s’effectue correctement.
Si je le lance par l'intermédiaire du Python dans la commande, ça fonctionne également.
En revanche si je lance le code Python à partir du code PHP qui suit, le fichier se crée mais le fichier de sauvegarde nouvellement créé, ne se remplit pas, comme s'il était bloqué à une forme d'étape fantôme...
system("cmd /c python D:/launch_batchfile.py");
Ce code de PHP je l'ai déjà éprouvé sur d'autres lancement de fichiers Python et tout a toujours fonctionné, mais là, je n'arrive pas à comprendre ce qui peut bloquer.
Auriez-vous une piste de déblocage ?
Par avance merci.
Geo-x
Partager