| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation: Unterstützung für 3D CAD Kollaboration mit Lieferanten, eine Pressemitteilung
|
Autor
|
Thema: Python: os.listdir mit Filter? (6716 mal gelesen)
|
HerrHansen Mitglied Dipl.-Ing.
 
 Beiträge: 257 Registriert: 03.12.2005 Abaqus/CAE 6.3 bis 6.12
|
erstellt am: 03. Aug. 2009 16:05 <-- editieren / zitieren --> Unities abgeben:         
|
carsten1983 Mitglied Doktorand
 
 Beiträge: 125 Registriert: 11.10.2007
|
erstellt am: 04. Aug. 2009 08:06 <-- editieren / zitieren --> Unities abgeben:          Nur für HerrHansen
Guten morgen, wenn ich dich recht verstehe suchst du etwas, um aus einem Verzeichnis alle Namen zu filtern, die mit einem bestimmten Präfix anfangen, richtig? Wenn dem so ist geht das z.B. so (Obwohl es sicherlich auch nen eleganten Einzeiler gibt..):
Code:
pfad,prefix=r'C:\\1\\',r'Is' k1,treffer,eintraege=0,[],os.listdir(pfad) while k1<len(eintraege): if eintraege[k1].startswith(prefix): treffer.append(eintraege[k1]) k1+=1
In Treffer sind dann alle Namen mit dem spezifizierten Präfix. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HerrHansen Mitglied Dipl.-Ing.
 
 Beiträge: 257 Registriert: 03.12.2005 Abaqus/CAE 6.3 bis 6.12
|
erstellt am: 04. Aug. 2009 11:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo Carsten, dein Ansatz funktioniert und hat mich weitergebracht. Genau das was ich brauche. Hier noch ein Codebeispiel zum Filtern nach Dateiendungen, falls es mal jemand brauchen sollte. Angenommen man hat in einem Verzeichnis 50 *.dat-Dateien und 50 *.txt-Dateien und möchte aber nur mit den dat-Dateien irgendwas veranstalten:
Code:
for i in os.listdir(): if i.split('.')[-1] == 'dat': mache irgendwas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |