Parsing Problem-> eine Line aus dem file ziehen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
acidk
User
Beiträge: 75
Registriert: Samstag 6. Januar 2007, 18:54
Wohnort: Braunschweig

Mittwoch 17. Oktober 2007, 17:11

Hallo Leute!
Hab mal wieder ein parsing Problem und komme nicht weiter.
File:
CALCULATIONS FOR GRID PLANE NZ= 5 AT Z = -2.350
BEGIN WRITING RESULTS FOR THIS PLANE TO FILE
RESULTS FOR PLANE NZ= 5 HAVE ALL BEEN WRITTEN TO FILE
=======================================================

POINT E( 11, 8, 5) HAS -10.3042 KCAL/MOLE AT POSITION 17.990 59.140 -2.350

NEAREST ATOMS TO THIS POSITION ARE:- DISTANCES ATOM ENERGIES D DI
LJ ACTUAL HB D A CHARGE EQ ELJ EHB A ETOT EL
1372 1372 OG SER 16.752 60.529 -0.261 0.00 0.00 3.25 2.797 2.80 1 2 -0.107 0.71 -99.99 -4.14 A -3.43 8.
1983* 1372 HOG HYD 15.879 60.438 -0.740 2.955
1982* 1367 HN HYD 19.284 59.962 0.314 3.074
usw.

Ich möchte die Point Zeile extrahieren. Mit "findall" konnte ich keinen passenden reg. Expression finden.

mein Ansatz:

Code: Alles auswählen

from re import *

re =compile('point', I)

source = file('1pe6separated_in.lont','r')
info = str(source.readlines())

for i in info:
    if re.match(info):
       print i
fkt. nur leider nicht
:x

Wär Klasse, wenn jemand einen Tip für mich hätte!

Vielen Dank
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Mittwoch 17. Oktober 2007, 17:52

Reicht in deinem Fall nicht auch

Code: Alles auswählen

line.startswith("POINT")
oder

Code: Alles auswählen

line.upper().startswith("POINT")
:?:
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
BlackJack

Mittwoch 17. Oktober 2007, 19:17

@acidk: Du machst aus einer Liste mit Zeilen eine Zeichenkette und schaust dann ob bei jedem *Zeichen* ob der reguläre Ausdruck passt!

Benutz doch mal ``print`` und `type()` um zu sehen was Du da machst. Dann wäre Dir das auch selbst aufgefallen.
Antworten