Forum: PC-Programmierung Womit am Besten "File Manipulation" Python?


von Lord BackeKart (Gast)


Lesenswert?

Hallo,

ich habe eine Reihe von Dateien, deren Inhalte ich bearbeiten möchte, 
d.h.

nur Zeilen, die ein bestimmtes Zeichen enthalten, behalten, den Rest 
löschen, dann die Zeilen miteinander vergleichen.

Womit sind solche Vorgänge am besten möglich?

- File merge
- content filtering
- content compare

Ich dachte da an ein PYthon Script oder
awk, seed o.ä.
Vorschläge?

VG

von Peter II (Gast)


Lesenswert?

Lord BackeKart schrieb:
> Vorschläge?

grep + diff

von Info (Gast)


Lesenswert?

Wie vergleichen, mit welchem Ergebnis?
1
lines = []
2
3
with open("file.txt", "r") as f:
4
 for l in f:
5
  if "!" in l:
6
    lines.append(l)
7
8
for l in lines:
9
 print(l)

von Info (Gast)


Lesenswert?

Ok, das wäre mit grep schneller gemacht. Wie sähe dann der Vergleich mit 
diff aus?

von Info (Gast)


Lesenswert?

Sorry, aber hier noch ein Stichwort: "unique" - eliminiert Duplikate.

von Sven B. (scummos)


Lesenswert?

Info schrieb:
> Ok, das wäre mit grep schneller gemacht.
1
l = [l for l in open('foo.txt').readlines() if "!" not in l]
2
# oder
3
l = filter(open('foo.txt').readlines(), lambda x: "!" not in x)

: Bearbeitet durch User
von Info (Gast)


Lesenswert?

Sven B. schrieb:
> l =

Ja, kürzer, aber unübersichtlicher, wenn noch Debug-Ausgaben oder 
Ausnahmen dazukommen...
1
grep "!" foo.txt > bar.txt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.