textdatei nach einem schlüsselwort durchsuchen komplex...

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
Pixilated
User
Beiträge: 16
Registriert: Samstag 27. Juni 2015, 14:09

Hallo ,

ich stehe vor folgendem Problem:
Ich versuche eine Textdatei die den Strukturbaum eines CAD Modells enthält nach den Namen der Bodies zu durchsuchen und diese dann in einer Liste zu speichern.

Der Inhalt der Textdatei sieht in etwa so aus:
<treeview>
<PartDocument name="Mastermodell.CATPart">
<AxisSystems>
</AxisSystems>
<bodies name="Hauptkörper">
<bodies name="Testkörper">

Nun muss ich den Text nach dem Schlüsselwort: bodies durchsuchen und den jeweils folgenden Namen z.b. Hauptkörper , Testkörper in eine Liste anfügen...

Den ersten bodies eintrag finde ich nur bekomme ich die weiteren namen nicht ausgelesen ......
über Hilfe bin ich sehr Dankbar !
MFG
BlackJack

@Pixilated: So wie es aussieht hast Du keine Textdatei sondern eine XML-Datei. Die sollte man dann auch mit den passenden Werkzeugen verarbeiten und nicht als Text. Also zum Beispiel `xml.etree.ElementTree` aus der Standardbibliothek oder `lxml.etree` mit einer etwas erweiterten API wenn es auch etwas externes sein darf.
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@Pixilated: was hast Du denn schon und wie liest Du den ersten bodies-Name?
Pixilated
User
Beiträge: 16
Registriert: Samstag 27. Juni 2015, 14:09

also mit folgendem code wird immerhin der erste name ausgelesen und angezeigt ...

Code: Alles auswählen

import mmap
a = open("Tree.txt","r")
b = a.find('bodies') +13
c = a.find('">')
d = a[b:c]
nur wie kann ich den restlichen inhalt der txt datei untersuchen ,,, habe schon überlegt zeile für zeile auszulesen aber bisher ohne erfolg
Zuletzt geändert von Anonymous am Sonntag 28. Juni 2015, 17:37, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

@Pixilated: Wie gesagt: XML verarbeitet man mit entsprechenden Bibliotheken und nicht als ob es Textdateien wären.
Pixilated
User
Beiträge: 16
Registriert: Samstag 27. Juni 2015, 14:09

leider befindet sich der tree aber in einer txt datei muss deshalb auch über diesen weg gehen ....
BlackJack

@Pixilated: Was ist denn in der Datei ausser XML noch drin? Und selbst wenn, warum musst Du den XML-Teil mit ungeeigneten Mitteln verarbeiten?
Pixilated
User
Beiträge: 16
Registriert: Samstag 27. Juni 2015, 14:09

ich habe bereits das programm soweit das der gesamte strukturbaum von cad catia ausgelesen wird und entweder einer variablen zugeordnet oder in eine textdatei geschrieben wird dann sieht das wie oben aus .... mit xml habe ich leider keine erfahrung.
BlackJack

@Pixilated: Also hast Du am Ende doch gar keine Textdatei sondern XML‽
Pixilated
User
Beiträge: 16
Registriert: Samstag 27. Juni 2015, 14:09

wenn wir davon ausgehen das ich keine xml datei habe lässt sich das problem also nicht so ohne weiteres lösen ?
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@Pixilated: wir gehen gerade davon aus, dass Du eine XML-Datei hast, auch wenn Du das nicht glaubst. Und die Dokumentation zu Elementtree hat ein paar einfache Beispiele, die Du fast ohne Änderungen für Dein Problem übernehmen kannst.
Benutzeravatar
ngulam
User
Beiträge: 35
Registriert: Freitag 18. Oktober 2013, 11:03

งูหลาม
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Sehr nett, so schafft man sich Freunde.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Pixilated
User
Beiträge: 16
Registriert: Samstag 27. Juni 2015, 14:09

zum Glück suche ich hier keine freunde ....;)
Antworten