Seite 1 von 1

PyYAML einlesen/verarbeiten

Verfasst: Donnerstag 4. Februar 2010, 16:58
von Queztapotel
Hi,
Ich habe mich langsam dumm und dämlich gesucht, deshalb frage ich hier.
Kann ich aus einem .yaml file daten einlesen und das eingelesene verarbeiten?? Wenn ja wie? Wäre bei ner Antwort echt super dankbar!

MfG
Queztapotel

Re: PyYAML einlesen/verarbeiten

Verfasst: Donnerstag 4. Februar 2010, 17:28
von Hyperion
Queztapotel hat geschrieben:Hi,
Ich habe mich langsam dumm und dämlich gesucht, deshalb frage ich hier.
Kann ich aus einem .yaml file daten einlesen und das eingelesene verarbeiten?? Wenn ja wie? Wäre bei ner Antwort echt super dankbar!
Was genau ist denn Deine Frage? Suchst Du eine Doku zu PyYAML? Da steht doch alles wichtige quasi auf dem Hauptseite. Prinzipiell hält es sich ziemlich an die de facto Standard-Funktionen wie bei pickel und json. Also load() fürs Parsen und einlesen unf dump fürs serialisieren. Steht aber auch alles in der Doku, auf die ja auch auf der ersten Seite verlinkt wird.

Verfasst: Donnerstag 4. Februar 2010, 17:32
von Queztapotel
Meine Frage ist doch ziemlich ersichtlich...
Wie kann ich was in eine Datei geschriebenes auslesen und verarbeiten?

MfG
Quetzapotel

Verfasst: Donnerstag 4. Februar 2010, 17:33
von Hyperion
Queztapotel hat geschrieben:Meine Frage ist doch ziemlich ersichtlich...
Wie kann ich was in eine Datei geschriebenes auslesen und verarbeiten?
Tja dann ist es meine Antwort nun auch: RTFM!

(Das Suchen nach der Doku überlasse ich mal Dir ;-) )

Verfasst: Donnerstag 4. Februar 2010, 17:35
von Queztapotel
Als ob das nicht gemacht hätte, nur manchmal hilft die einem nicht weiter.
Naja was solls hab hier ja eig. auch keine andere Antwort erwartet.

Verfasst: Donnerstag 4. Februar 2010, 17:38
von Hyperion
Queztapotel hat geschrieben:Als ob das nicht gemacht hätte, nur manchmal hilft die einem nicht weiter.
Naja was solls hab hier ja eig. auch keine andere Antwort erwartet.
Wie soll man Dir denn etwas sinnvolles sagen, wenn Du nicht präzisierst, WAS Du nicht kapierst oder woran Du scheiterst?

Poste doch mal etwas Code, was Du schon probiert hast und sage uns dann, was daran nicht klappt (ggf. also Fehlermeldung und auch YAML-File).

Was genau ist daran so schwierig? DU willst doch Hilfe.

Verfasst: Donnerstag 4. Februar 2010, 17:40
von Leonidas
OMG!

Code: Alles auswählen

import yaml

with open('deinedatei', 'r') as f:
    print yaml.load(f)
(ungetestet)

Verfasst: Donnerstag 4. Februar 2010, 17:45
von Queztapotel
Mal danke für den konstruktiveren Beitrag von Leonidas, aber das OMG! hättest du dir sparen können. Hat eben nicht jeder 13000 Einträge in einem Forum ;)

Verfasst: Donnerstag 4. Februar 2010, 17:48
von Hyperion
Queztapotel hat geschrieben:Mal danke für den konstruktiveren Beitrag von Leonidas, aber das OMG! hättest du dir sparen können. Hat eben nicht jeder 13000 Einträge in einem Forum ;)
Welche dieser Zeilen waren denn nun das Hindernis? Zeile 3? (Der Rest steht ja exakt so in der Doku und bereits in der Mini-Doku auf der von mir verlinkten Seite)

Verfasst: Donnerstag 4. Februar 2010, 17:58
von Queztapotel
ich frage mich warum man auf eine frage eine gegenfrage stellen muss um den grund der eigentlichen frage zu erörtern, anstatt einfach sie zu beantworten?

Verfasst: Donnerstag 4. Februar 2010, 18:01
von jbs
Weil wir hier versuchen Leuten zu helfen, die Probleme haben und sich vorher die Mühe gemacht haben die Dokumentation zu lesen.

Verfasst: Donnerstag 4. Februar 2010, 18:04
von Queztapotel
Was bei mir der Fall ist

Verfasst: Donnerstag 4. Februar 2010, 18:17
von Hyperion
Queztapotel hat geschrieben:ich frage mich warum man auf eine frage eine gegenfrage stellen muss um den grund der eigentlichen frage zu erörtern, anstatt einfach sie zu beantworten?
Leonidas hat ja letztlich auch nur /dev/glaskugel befragt und die richtige Antwort erhalten, was er posten muss ;-)

Ich wollte gerne wissen, was Dir an seinem Posting geholfen hat, damit man Dir aufzeigen kann, wie Du zukünftig besser Fragen stellen kannst und Dich ggf. auch darin verbesserst, Dokumentation zu lesen und zu verstehen. Es ist hier also keine Schadenfreude o.ä., sondern geht um wirklich konstruktives!

Du könntest Dir jetzt schon helfen, wenn Du sagst, dass Dir unklar war, wie man eine Datei zum Lesen öffnet und dass man dieses File-Objekt an yaml.load() übergeben kann - da in der Doku dafür kein explizites Beispiel vorhanden ist. Allerdings steht in der Doku:
YAML Doku hat geschrieben: yaml.load accepts a byte string, a Unicode string, an open binary file object, or an open text file object.
Im Gegensatz zum json-Modul bspw. gibt es hier eben nur eine Funktion fürs Laden, die selbständig herausfindet, was es mit dem übergebenen Objekt auf sich hat. Leonidas hat yaml.load() einfach ein geöffnetes "text file"-Objekt übergeben.

So, ich hoffe Du kannst jetzt wenigstens einsehen, dass ich Dir nichts böses wollte!

Verfasst: Donnerstag 4. Februar 2010, 18:30
von DasIch
Queztapotel hat geschrieben:Was bei mir der Fall ist
Das zeigst du aber nicht. Die Leute die hier helfen machen dass in ihrer Freizeit und die meisten Menschen sind Egoisten und helfen nicht weil sie sonderlich hilfsbereit sind sondern weil sie Interesse daran haben interessante Probleme zu lösen.

Dein Problem ist weder interessant noch lieferst du eine gute und detailierte Beschreibung. Abgesehen davon lässt sich dass Problem mit einem Blick in die Dokumentation lösen. Damit ist die Wahrscheinlichkeit eine hilfreiche Antwort zu bekommen eher schlecht.