Message posté par : nmor (nmor2702(a)gmail.com)
----------------------------------------
-----------------
Citation :
-----------------
Bonjour à tous,
J’ai développé un plugin sur Qgis2.18 en python 2 (qui fonctionne sous un environnement
linux) et j’essaye aujourd’hui de convertir mon code vers python3 pour que je puisse
l’utiliser sur Qgis3.18 et directement dans un environnement Windows.
Mon plugin récupère des informations de type texte que l’utilisateur renseigne, et exécute
un .exe avec la fonction subprocess.Popen et c’est là que je bloque
-----------------
Code :
import subprocess
proc = subprocess.Popen(['Traitement_2.exe', r"cd
C:/Users/Utilisateur/Traitement"],stdout=subprocess.PIPE,
stderr=subprocess.PIPE,encoding = "ISO-8859-1", shell=True, text=True)
print(proc.stdout)
while True:
lecture = proc.stdout.readline()
print (lecture)
if 'FIN' in lecture:
print('Le Traitement est fini')
break
-----------------
-----------------
Citation :
-----------------
Si je lance ce code python dans une invite de commande sous windows (en faisant py
test_py2.py), mon programme Traitement_2.exe se lance et me renvoie des chaines de
caractère (et seulement des chaines de caractère) en affichage dans la console comme ceci
:
**************************************
TRAITEMENT 2 DE MESRI
CREATION DES FICHIERS :
- CARTE DU RÉSEAU HYDROGRAPHIQUE
- CARTE DES AIRES DRAINÉES PAR PIXEL
- CARTE DES DISTANCES VERSANT
- CARTE DES DISTANCE RÉSEAU
- CARTE DES CRÊTES
**************************************
**************************************
**************************************
IDENTIFICATION DES CRÊTES
**************************************
**************************************
CALCUL DES AIRES DRAINÉES
Or quand je mets ce code dans mon plugin.py (plugin de Qgis), rien ne se lance. Je n’ai
pas d’erreur non plus, j’ai simplement l’impression que rien ne se passe. La variable
lecture est de type mais est vide.
Avez-vous une solution ou une piste de réflexion ?
Merci d’avance
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343705#p343705
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net