Besoin du chemin pour des fichiers particuliers en utilisant os.walk ()
Je suis en train de réaliser certaines de géotraitement. Ma tâche est de localiser tous les fichiers de formes dans un répertoire, puis de trouver le nom de chemin complet pour que shapefile dans le répertoire. Je peux obtenir le nom du fichier de formes, mais je ne sais pas comment obtenir le nom de chemin complet pour que shapefile.
shpfiles = []
for path, subdirs, files in os.walk(path):
for x in files:
if x.endswith(".shp") == True:
shpfiles.append[x]
source d'informationauteur Schack | 2013-05-09
Vous devez vous connecter pour publier un commentaire.
os.walk
vous donne le chemin d'accès au répertoire que la première valeur dans la boucle, il suffit d'utiliseros.path.join()
de créer plein de nom de fichier:J'ai renommé
path
dans la boucle pourdirpath
à pas en conflit avec lespath
variable que vous avez déjà étaient de passage àos.walk()
.Notez que vous n'avez pas besoin de tester si le résultat de
.endswith() == True
;if
déjà fait pour vous, le== True
partie est entièrement redondant.Vous pouvez utiliser
.extend()
et un générateur d'expression pour rendre le code ci-dessus un peu plus compact:ou même comme une compréhension de liste:
Pourquoi ne pas
import glob
?et je reçois tout le jpeg, je veux, avec chemin d'accès absolu
Semble
os.path.abspath(finename)
fonctionne. S'il vous plaît essayer.