Text Datei vor Speicherung formatieren

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
Rolando
User
Beiträge: 7
Registriert: Mittwoch 22. August 2007, 15:15

Hallo Forum

Bin ein absoluter Neuling hier und hätte da mal eine Frage, bzw. ein Problem:

Habe auch lange danach gesucht aber leider nichts hilfreiches gefunden und jetzt hoffe ich, dass mir jemand von euch einen Tipp geben oder gar helfen kann! Merci!

Auf einer Webseite (Zope3) werden Texte erfasst und in .txt Dateien gespeichert!
Später werden dann diese .txt Dateien wieder in einem Browser ausgegeben.

Jetzt habe ich aber das Problem, dass längere Abschnitte natürlich in einer einzigen langen Zeile ausgegeben werden, was nicht erwünscht und auch ziemlich unschön ist!

Deshalb nun meine Frage, wie kann ich den Text vor dem Speichern (bzw. der Ausgabe) im Browser formatieren???
Z.B. das nach maximal 80 Zeichen automatisch umgebrochen wird!?
Und natürlich sollten dabei die Wörter nicht zerschnitten werden!

Kann mir da jemand helfen?
Jemand einen Tipp oder gute Idee?
Bzw. kennt jemand ein Python Script, welches das erledigen würde??

Danke für jegliche Hilfe!!
Grüsse
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Schau dir mal das Modul textwrap an!

(PS: Die google-ads bei der Python-Doku-Suche sind ja daemlich. Als ob ich Unterwaesche will, wenn ich dort nach "string" suche...)
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Rolando
User
Beiträge: 7
Registriert: Mittwoch 22. August 2007, 15:15

Grüäss Di Rebecca

Danke für den Tipp! Und die super schnelle Antwort!
Das kannte ich noch nicht! Werde ich mir gleich ansehen und versuchen es umzusetzen! Merci! :D
Rolando
User
Beiträge: 7
Registriert: Mittwoch 22. August 2007, 15:15

Super! Das hat soweit funktioniert!

Ich habe es folgendermassen umgesetzt:

Code: Alles auswählen

text = "\n".join(textwrap.wrap(text, 80))
Funktioniert auch, die Texte werden bei 80 Zeichen umgebrochen und auch Wörter werden nicht zerschnitten! Merci für den Tipp!

Dafür habe ich jetzt eine andere Unschönheit!
Die eigentlichen Paragraphen werden nicht mehr als Paragraphen behandelt!

D.h. die Teste sehen so aus:
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubrgren,
no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
amet, consetetur sadipscing elitr. At accusam aliquyam diam diam dolore
dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore
Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut
vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur.
...statt wie gewünscht so:
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est.

Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kagubrgren,
no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
amet, consetetur sadipscing elitr.
At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed
tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no
rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit
amet.

Lorem ipsum dolor sit amet,
consetetur.
Wie erreiche ich, dass die eigentlichen Zeilenumbrüche des Originaltextes auch noch erhalten bleiben!?
BlackJack

Behandle die Absätze einzeln, also erst aufsplitten, dann alle umbrechen und am Ende wieder zusammensetzen.
Rolando
User
Beiträge: 7
Registriert: Mittwoch 22. August 2007, 15:15

Hallo BlackJack

Danke für den Tipp...
Habe danach gegoogelt aber weis leider immer noch nicht genau, wie ich das angehen soll!?
Wie kann ich nur einen bestimmten Absatz extrahieren?
Wie gesagt, bin noch newbee...
Rolando
User
Beiträge: 7
Registriert: Mittwoch 22. August 2007, 15:15

Ich Idiot... es sind ja natürlich nur Linien und keine Abschnitte! (Genau das war ja das Problem!)

D.h. readline().... sollte ja reichen!

...wenn man den Kopf einschalten würde, ginge es bedeutend einfacher!!
Sorry, bin halt noch der Newbee!
Antworten