Python-Textumfluss-Bibliothek - How zu Bewahren Zeilenumbrüche?
Bei der Verwendung von Python ist Textumfluss-Bibliothek, wie kann ich diese:
short line,
long line xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
in diesem:
short line,
long line xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx
Habe ich versucht:
w = textwrap.TextWrapper(width=90,break_long_words=False)
body = '\n'.join(w.wrap(body))
Aber ich bekommen:
short line, long line xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(Abstand nicht exakt in meinen Beispielen)
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen
schien, um das problem zu beheben für mich
Arbeitete ich heraus, dass von dem, was ich gelesen hier (ich habe noch nie verwendet Textumfluss vor)
Wie etwa wickeln Sie nur die Zeilen, die länger als 90 Zeichen sein?
Sieht es aus wie es nicht unterstützen. Dieser code verlängert es das zu tun, was ich brauche, aber:
http://code.activestate.com/recipes/358228/
Hier ist ein kleines Modul, das umbrechen von text, Pause Linien, Griff-extra abdrücken (zB.eine Aufzählung), und ersetzen Zeichen/Wörter mit markdown!
Ausgabe:
Fish Island ist ein low-center-Polygon-Moore auf
der übergang zwischen dem Mackenzie-River-Delta und der
Tuktoyaktuk Küstenebene.
Ist es unterlegt durch kontinuierlichen permafrost, Torf
Einlagen exceede die jährliche Schneeschmelze Tiefe.
$Sphagnum$ dominiert die polygon-Zentren mit einem
caonpy von $Equisetum$ und spärlich $Carex$. Zwerg $Salix$
wächst allong die polygon-Felgen. $Eriophorum$ und
carex füllen brach das Eis Keile.
Zeichen zwischen dem $$ wäre in Kursiv, wenn Sie gearbeitet matplotlib zum Beispiel, aber die $$ nicht angerechnet werden, der Zeilenabstand, da Sie Hinzugefügt werden, nachdem!
Also, wenn Sie haben:
Würden Sie bekommen:
Ich hatte ein ähnliches problem bei Formatierung dynamisch generiert werden docstrings. Ich wollte zu bewahren, die Zeilenumbrüche von hand und split alle Zeilen, die über eine bestimmte Länge. Die Umarbeitung der Antwort von @weit ein bisschen, diese Lösung funktionierte für mich. Ich es zählen nur hier für die Nachwelt:
TextWrapper ist nicht entworfen, um text, der bereits Zeilenumbrüche drin.
Gibt es zwei Dinge, die Sie tun wollen, wenn Sie Ihr Dokument bereits mit Zeilenumbruch:
1) Halten Sie die alt-Zeilenumbrüche enthalten, und nur wrap-Zeilen, die länger sind als der Grenzwert.
Können Sie eine Unterklasse TextWrapper wie folgt:
Dann es verwenden die gleiche Weise wie Textumfluss:
Gibt Sie:
2) Entfernen Sie die alten Zeilenumbrüche und wickeln alles.
Gibt Sie
(TextWrapper nicht tun, entweder von diesen, - es ignoriert die vorhandenen Zeilenumbrüche, was zu einer unheimlich formatierte Ergebnis)