ThorstenS
10-08-2011, 08:53
Hi Leute,
ich möchte mich in Zukunft ein wenig mit python beschäftigen und habe mir ein kleines Problem gesucht.
Und zwar möchte ich bestimmte (binäre) Dateien suchen und die ASCII Zeichen extrahieren. Das ganze einlesen, sortieren und wieder als HTML-Seite mit Links ausgeben.
In der Linux bash würde ich sowas tun um die Dateien zu finden und per strings an die ASCII Zeichen zu kommen:
find /home/www/courses -name config.dat -maxdepth 3 | xargs -n1 strings
strings config.dat liefert dabei sowas:
Abteilung
2007/10
Projektname
Projekt Leiter
../courses/Abteilung/projektname2/
0000
Mein python-Code schaut derzeit so aus und gibt mir zumindest schonmal die Dateien aus:
#!/usr/bin/env python
import os
def find_config(name, path):
result = []
for root, dirs, files in os.walk(path):
if name in files:
result.append(os.path.join(root, name))
return result
DATEIEN=find_config('config.dat', './')
print DATEIEN
Tante Google ist bei der Suche nach strings leider zu geschwätzig, ich finde nicht das, was ich suche…
Wie gehts nun weiter, wie komme ich an die ASCII- Zeilen?
ich möchte mich in Zukunft ein wenig mit python beschäftigen und habe mir ein kleines Problem gesucht.
Und zwar möchte ich bestimmte (binäre) Dateien suchen und die ASCII Zeichen extrahieren. Das ganze einlesen, sortieren und wieder als HTML-Seite mit Links ausgeben.
In der Linux bash würde ich sowas tun um die Dateien zu finden und per strings an die ASCII Zeichen zu kommen:
find /home/www/courses -name config.dat -maxdepth 3 | xargs -n1 strings
strings config.dat liefert dabei sowas:
Abteilung
2007/10
Projektname
Projekt Leiter
../courses/Abteilung/projektname2/
0000
Mein python-Code schaut derzeit so aus und gibt mir zumindest schonmal die Dateien aus:
#!/usr/bin/env python
import os
def find_config(name, path):
result = []
for root, dirs, files in os.walk(path):
if name in files:
result.append(os.path.join(root, name))
return result
DATEIEN=find_config('config.dat', './')
print DATEIEN
Tante Google ist bei der Suche nach strings leider zu geschwätzig, ich finde nicht das, was ich suche…
Wie gehts nun weiter, wie komme ich an die ASCII- Zeilen?