pyyaml

___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ answer6816459 ___

Sie können

tun %Vor%

Wenn Sie keine Kontrolle über das Format des Originaldokuments haben.

Aus den PyYAML-Dokumenten,

  

Double-quoted ist der leistungsstärkste Stil und der einzige Stil, der einen beliebigen skalaren Wert ausdrücken kann . Skalare mit doppelten Anführungszeichen ermöglichen das Entkommen. Mit den Escaping-Sequenzen \ x ** und \ u **** können Sie beliebige ASCII- oder Unicode-Zeichen ausgeben.

Es klingt also so, als ob es keine Möglichkeit gibt, einen beliebigen Skalar im Parsing darzustellen, wenn es nicht doppelt zitiert wird.

    
___ tag123yaml ___ Verwenden Sie dieses Tag nur für Fragen zum YAML-Datenserialisierungsformat, nicht für Fragen zu Programmen (oder Beispielen), deren Konfiguration in einem YAML-Format vorliegt. Fragen zum CSS-Framework namens YAML sollten stattdessen mit [yaml-css] getaggt werden. ___ tag123pyyaml ​​___ PyYAML ist ein YAML 1.1 Parser und Emitter für Python. Verwenden Sie dieses Tag für PyYAML-spezifische Python-Fragen. ___ answer6816364 ___

Wenn Sie das Doppelpunkt-Zeichen in YAML nur ausschließen möchten, schließen Sie es in einfache oder doppelte Anführungszeichen ein. Außerdem können Sie literalen Stil für Ihr zweites Dokument versuchen, das als einzelner Skalar behandelt werden soll.

    
___ qstntxt ___

Ich möchte YAML-Dokumente wie die folgenden analysieren

%Vor%

Wenn ich %code% mit PyYAML, bekomme ich folgende

%Vor%

Was ich hier erreichen möchte, ist, dass die yaml-Datei zwei Dokumente enthalten soll, und das zweite soll als ein einzelnes Zeichenkettendokument interpretiert werden, genauer gesagt als ein großer Textkörper mit Abschriftenformatierung. Ich möchte nicht, dass es als YAML-Syntax analysiert wird.

Im obigen Beispiel gibt PyYAML das zweite Dokument als eine einzelne Zeichenfolge zurück. Aber wenn das zweite Dokument zum Beispiel ein %code% -Zeichen anstelle von %code% hat, bekomme ich einen Syntaxfehler. Dies liegt daran, dass PyYAML das Zeug in diesem Dokument analysiert.

Gibt es eine Möglichkeit, PyYAML zu sagen, dass das zweite Dokument nur eine rohe Zeichenkette ist und es nicht analysiert?

Bearbeiten : Ein paar exzellente Antworten dort. Bei der Verwendung von Anführungszeichen oder der literalen Syntax, die das genannte Problem löst, möchte ich, dass die Benutzer in der Lage sind, den einfachen Text ohne zusätzlichen Aufwand zu schreiben. Nur die drei %code% 's (oder %code% ' s) und schreibe eine große Menge an Klartext ab. Das könnte auch Zitate beinhalten. Also würde ich gerne wissen, ob ich PyYAML sagen kann, nur ein Dokument zu analysieren und die zweite mir roh zu geben.

Eidt 2 : Also passt man die Idee von agf an, anstatt ein try / except zu verwenden, da das zweite Dokument eine gültige yaml-Syntax sein könnte,

%Vor%

Vielen Dank.

    
___ qstnhdr ___ Dokument wird als Rohzeichenfolge in yaml mit PyYAML geladen ___
1
Antwort

YAML lädt 5e-6 als String und nicht als Zahl

Wenn ich eine Zahl mit einem JSON-Dump mit YAML einlege, wird die Zahl als String und nicht als Float geladen. Ich denke, dieses einfache Beispiel kann mein Problem erklären. %Vor% YAML lädt 1e-06 als Zeichenfolge und nicht als Zahl? Wi...
26.05.2015, 12:45
1
Antwort

Warum fataler Fehler: Die Datei 'yaml.h' wurde bei der Installation von PyYAML nicht gefunden?

Ich probiere PyYAML herunter und installiere es nach den Anweisungen hier Ссылка Also habe ich das ZIP-Paket heruntergeladen: Ссылка und dann in diesen Ordner wechseln und python setup.py --with-libyaml install ausführen , die Fehlerme...
08.12.2015, 19:44
3
Antworten

Wie kann ich eine YAML-Datei aus Python erstellen?

Beispiel aus Verwendung von YAML mit Python Die ursprüngliche YAML-Datei enthält diese %Vor% Nachdem der Inhalt mit yaml.load() aus der Datei geladen und in eine neue YAML-Datei geschrieben wurde, bekomme ich stattdessen: %Vor% W...
03.02.2012, 20:48
2
Antworten

Dokument wird als Rohzeichenfolge in yaml mit PyYAML geladen

Ich möchte YAML-Dokumente wie die folgenden analysieren %Vor% Wenn ich load_all mit PyYAML, bekomme ich folgende %Vor% Was ich hier erreichen möchte, ist, dass die yaml-Datei zwei Dokumente enthalten soll, und das zweite soll als ein...
25.07.2011, 12:38