banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 10 May 2012 12:22

nawak
Participant assidu
Date d'inscription: 11 Sep 2007
Messages: 216

shp2pgsql

Bonjour,

débutant en python, je cherche à lancer un shp2pgsql (sous widows) dans un script python.

est - ce possible ?

Merci

Hors ligne

 

#2 Thu 10 May 2012 22:55

gallab
Participant occasionnel
Lieu: Marseille
Date d'inscription: 28 May 2010
Messages: 19

Re: shp2pgsql

Oui ça me semble possible. (je le lance bien depuis PHP donc pourquoi pas en python)

La méthode que j'utilise,  j'écris un fichier batch (.bat) qui inclut la commande shp2pgsql à exécuter et je lance le fichier depuis mon script.
Ensuite quand l'exécution de mon script se termine je supprime le fichier .bat

enfin bon, il y a probablement une solution plus élégante surtout si tu peux appeler directement des fichiers EXE depuis Python (à voir).
à +


Gallien

Hors ligne

 

#3 Fri 11 May 2012 08:06

Nicolas Granier
Participant assidu
Date d'inscription: 19 Apr 2007
Messages: 271

Re: shp2pgsql

Oui c'est faisable
Exemple ci-dessous en python

Code:

 #import du module module servant à charger l'environnement de l'OS
import os   
#on place la ligne de commande dans une variable
commande = "shp2pgsql -g the_geom -I ..."
#on execute
os.system (commande)

A+

Dernière modification par Nicolas Granier (Fri 11 May 2012 08:07)

Hors ligne

 

#4 Fri 11 May 2012 09:13

nawak
Participant assidu
Date d'inscription: 11 Sep 2007
Messages: 216

Re: shp2pgsql

Bonjour,

et merci pour vos réponses.

effectivement "os.system" semble bien correspondre et j'arrive, sous linux, à faire ce que je veux...Par contre sous windows j'ai des soucis avec les guillements (ie il ne prend pas les noms de dossiers avec espace)...quelqu'un a-t-il eu ce genre de probleme? y a t-il une règle précise?

Merci

Hors ligne

 

#5 Fri 11 May 2012 10:59

Nicolas Granier
Participant assidu
Date d'inscription: 19 Apr 2007
Messages: 271

Re: shp2pgsql

il faut mettre les chemins contenant des espaces entre guillemets et échapper les guillemets
exemple "shp2pgsql -I \"c:/poste de travail/mondossier\"
ou alors faire avec des apostrophes, il n'y a pas besoin d'échapper les guillemets.

Hors ligne

 

Pied de page des forums

Powered by FluxBB