Hallo allerseits,
ich bin neu in python und würde gerne wissen wie man zum beispiel den shell befehl find in python implementiert...
ich glaube man muss das modul os importieren oder?
aber wie kann ich zum beispiel den befehl find "irgendwas -name " dann implementieren?
Danke euch!
Shell Befehl in Python implementieren
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Öhm ja, du brauchst os.path, os.walk, optparse und musst dann die Funktionalität bereitstellen. Also durch alle möglichen Ordner durchgehen und nach dieser Datei suchen.
Die Antwort ist etwas ungenau, aber deine Frage ist es auch.
Die Antwort ist etwas ungenau, aber deine Frage ist es auch.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hallo,
mit os.system('find . -name "*.html"')
kommt die ausgabe...
allerdings würde ich gerne alle html files in eine liste speichern...nur geht das nicht mit
html_list = os.system('find . -name "*.html"')
jemand eine Idee?
mit os.system('find . -name "*.html"')
kommt die ausgabe...
allerdings würde ich gerne alle html files in eine liste speichern...nur geht das nicht mit
html_list = os.system('find . -name "*.html"')
jemand eine Idee?
Code: Alles auswählen
>>> import os
>>> alle_dateien = os.listdir(os.getcwd())
>>> print alle_dateien
['pybrowser.py', 'todo11.pyc', 'tkdu-1.4.py', 'dateimanager.py', 'fuplo.py', ... ]
Mit os.path.splitext() kommst du an die Dateiendung heran:
Code: Alles auswählen
>>> import os
>>> os.path.splitext("/Verzeichnis/Datei.Endung")
('/Verzeichnis/Datei', '.Endung')
cu Sebastian
Edit: Habe überlesen, dass du nicht nur im aktuellen Verzeichnis suchen möchtest. :-(
Da ist os.walk wie Leonidas sagte richtig.
Vielen dank...das funktioniert !
würde gerne auf dem html file einen grep befehl ausführen lassen...also mit os.system('grep muster datei')
allerdings muss ich hier die datei rein schreiben ...wenn ich aber die laufvariable der for schleife (also die einzelnen html files) reinschreibe sagt mir der interpretre er kennt die datei nicht....
gibt es dafür eine Lösung?
würde gerne auf dem html file einen grep befehl ausführen lassen...also mit os.system('grep muster datei')
allerdings muss ich hier die datei rein schreiben ...wenn ich aber die laufvariable der for schleife (also die einzelnen html files) reinschreibe sagt mir der interpretre er kennt die datei nicht....
gibt es dafür eine Lösung?
Code: Alles auswählen
for file in all_files:
test_fl = os.path.splitext(path+"/"+file)
if test_fl[1] != ".html":
continue
else:
sec_labels_lst = os.system('grep wickedlabel file') # hier kann der grep nicht funktionieren weil file ja die laufvariable ist....
print sec_labels_lst
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Geht's so?
Code: Alles auswählen
for file in all_files:
if os.path.splitext( test_fl )[1] != ".html":
continue
test_fl = os.path.join( path, file )
commando = 'grep wickedlabel %s' % test_fl
sec_labels_lst = os.system( commando )
print sec_labels_lst