Hallo Python Fans,
ich bin mit Python noch ziemlich am Anfang. Habe eine Frage:
Angenommen ich habe eine Text Datei in der Verzeichnispfade angegeben sind, beispielspweise:
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\gemeinsames
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\konfiguration\
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\hand_ausgestreckt
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\klatschen
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib\config
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib\protocol
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\hand_schuetteln
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\geneiriert\A-Achse
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\geneiriert\B-Achse
Ich schreibe zurzeit ein Script in dem ich unter anderem sagen möchte: Sobald in der Text Datei im Pfad der Ordner "Algorithmen" gefunden wurde, sollen alle globalen Pfade der Unterverzecihnise vom Ordner "Algorithmen" in einer weiteren Textdatei ausgegeben werden. Das würde in diesem Beispiel dan so aussehen:
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\hand_ausgestreckt
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\klatschen
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib\config
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib\protocol
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\hand_schuetteln
In diesem Fall würde ich so etwas wie reguläre ausdrücke verwenden um den Script sagen zu können: "alles was hinter Algorithmen steht, gebe in ein text file aus".
Kann mir jemand sagen wie man das in python mittels regulären ausdrücken (oder pattern filter) realisieren könnte?
Danke im vorraus!
Reguläre Ausdrücke auf Verzeichnis Pfaden
Hi,
also ich habe den folgenden code geschrieben (es muss auch ohne reguläre ausdrücke gehen):
Die erzeugte Textdatei (file_to_output.txt) ist aber leer? Was habe ich hir falsch gemacht? Das ergebniss müsste so aussehen:
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\hand_ausgestreckt
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\klatschen
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib\config
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib\protocol
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\hand_schuetteln
Vielen Danke!
also ich habe den folgenden code geschrieben (es muss auch ohne reguläre ausdrücke gehen):
Code: Alles auswählen
import os
obj_in = open("file_to_read.txt", "r")
obj_out = open ("file_to_output.txt", "w")
if "Algorithmen" in "file_to_read.txt":
obj_out.write(line)
obj_in.close()
obj_out.close()
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\hand_ausgestreckt
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\klatschen
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib\config
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\lib\protocol
D:\Meine_Projekte\Software\Gestenerkennung\Software_Kinect\Quellcode\Algorithmen\hand_schuetteln
Vielen Danke!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Code: Alles auswählen
if "Algorithmen" in "file_to_read.txt":
obj_out.write(line)
Das kannst Du entweder über ein (temporäres) ``print``-Statement im Block lösen, oder den Code-Teil in einer Shell einfach mal austesten:
Code: Alles auswählen
"Algorithmen" in "file_to_read.txt"
> False
BTW: Dateien solltest Du immer mittels ``with`` öffnen:
Code: Alles auswählen
with open(...) as file_handle:
# file_handle kannst Du im Block benutzen
# es wird *automatisch* geschlossen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert