Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 Tue 17 March 2009 19:40

CharlesR
Participant occasionnel
Date d'inscription: 3 Aug 2007
Messages: 19

Liste de shapefile des dossiers dans un dossier avec Python

Bonjour à tous,

Voici ma question:

J'ai un dossier qui contient plusieurs autres dossiers... et ces dossiers possède 1 shapefile chaque.

Exemple:

Dossier Repere
                    -------------> Dossier A ------> .shp
                    -------------> Dossier B ------> .shp
                    -------------> Dossier C ------> .shp

Comment je peux faire une liste de ces .shp avec les objets geoprocessor étant donné qu'ils sont tous dans un dossier différent?

Merci beaucoup pour votre aide!

Hors ligne

 

#2 Tue 17 March 2009 21:22

assogeomatica
Juste Inscrit !
Date d'inscription: 26 Oct 2006
Messages: 4

Re: Liste de shapefile des dossiers dans un dossier avec Python

Bonjour à toi

As tu essayer de faire une liste de workspace, avec list.workspace("", "Folder").
Ensuite, tu tournes dans cette liste là, avec while par exemple, et à l'intérieur du while tu change le workspace pour celui de ton document, et tu fais une liste de feature.

exemple:

Code:

# Set the workspace. List all of the shapefiles
gp.Workspace= "xxxx"

# List folder
#
wkspList= gp.ListWorkspaces("", "Folder")
wkspList.reset()
wksp = wkspList.Next()
while wksp:
    # Set workspace to current folder
    #
    gp.workspace = wksp
    fcList =  gp.ListFeatureClasses("*","")      
    # Reset the enumeration to make sure the first object is returned
    fcList.reset()
    # Get the first feature class name
    fc = fcList.Next()
    while fc: # While the feature class name is not None
           fc = fcList.Next()   
    wksp = wkspList.Next()

Voilà,
ça devrait marcher

Hors ligne

 

#3 Wed 18 March 2009 10:25

freesnowpetrel
Participant assidu
Lieu: Pretoria, Afrique du Sud
Date d'inscription: 1 Mar 2007
Messages: 222

Re: Liste de shapefile des dossiers dans un dossier avec Python

Bonjour

Tu n'est pas oblige de te limiter aux fonctions du geoprocesseur d'arcgis, en Python il y a plein d'autres modules utilisables.
Tu peux par exemple utiliser la fonction os.walk() qui explore tous les sous-dossiers voir doc ici et coupler cela soit avec un fnmatch.filter(ta liste de fichiers retournee par os.walk,pattern recherche("*.shp")) soit avec des fontions string sur tes noms de fichier (par exemple: nomfichier.endswith(".shp").

A+
Rodolphe

Dernière modification par freesnowpetrel (Wed 18 March 2009 10:27)

Hors ligne

 

Pied de page des forums

Powered by FluxBB