Schleife, für mehrere Dateien aus einem Ordner

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
chulia
User
Beiträge: 29
Registriert: Mittwoch 17. August 2011, 10:26

Hey,

ich hab mehrere mxd Dateien in einem Ordner, die ich alle nacheinander öffnen möchte und als tiff exportieren möchte.
Mein Problem ist die Schleife.
Wie kann ich Python sagen, dass wenn er mit einer Datei fertig ist, sich die nächste aus dem Ordner holen soll.

Für eine einzige Datei funktioniert das schon.

Code: Alles auswählen

#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-

import arcpy, sys, numpy, os, csv
sys.path.append('C:\Python26\Lib\site-packages')
import PIL
from PIL import Image

arcpy.gp.overwriteOutput = True

workspace = arcpy.env.workspace = 'F:\pommeren\Pflanzenbis56\end'

mxd = arcpy.mapping.MapDocument(r"F:\pommeren\Pflanzenbis56\end\temp3.mxd")

arcpy.mapping.ExportToTIFF(mxd, r"F:\pommeren\temp0.tif",resolution=200)
Kann mir einer sagen, wie ich eine Schleife darum basteln kann, dass er sich alle Dateien aus dem Workspace holt.
Die Dateinamen heißen alle temp und dann folgt eine Zahl... also temp0,temp1,temp2 usw.
und die tiff Dateien sollen auch wieder so benannt werden.

Danke für eure Hilfe!

Liebe Grüße

chulia
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

Hi chuila,

schaue dir doch mal os.listdir an.

Um die zurück kommende Liste kannst du eine for Schleife basteln die dann die Datein nacheinander abarbeitet.
BlackJack

@chulia: In der Python-Dokumentation gibt es ein Tutorial wo die Sprachgrundlagen behandelt werden.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Zudem solltest Du bei den Pfadangaben konsequent auf Raw-Strings setzen... das ist bei einigen Zeilen noch nicht der Fall und kann zu Problemen führen. (Der Backslash leitet in Strings Escape-Sequenzen ein! `\n` für einen Zeilenumbruch bspw.)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten