Escape-Sequenzen in einem String identifizieren

Thomas Jollans tjol at tjol.eu
Sun Oct 1 14:02:27 EDT 2017


On 01/10/17 19:20, Ulrich Goebel wrote:
> Hallo,
>
> ich lese mit Python aus einer PostgreSQL-Datenbank strings (SQL-Typ:
> text), die über LibreOffice dort hinein geschrieben werden. Diese
> Strings können Zeilenschaltungen enthalten, von denen ich aber nicht
> weiß, wie sie kodiert sind: vielleicht \n, \r, \n\r, \r\n oder sonstwie.

Hallo Ulrich,

diese Mailingliste ist englischsprachig. Für Fragen und Diskussionen auf
deutsch gibt es eine eigene Liste, python-de at python.org mit
angeschlossener Newsgroup. Anscheinend gibt es auch ein Forum.

Siehe:
https://wiki.python.org/moin/GermanLanguage#Community_.28Wikis.2C_Mailinglisten.2C_Newsgroups_etc..29
https://mail.python.org/mailman/listinfo/python-de

>
> Um das herauszufinden, suche ich eine Funktion zeige_escape(string),
> die mir liefert:
>
> s = 'Hallo\nNeue Zeile'
>
>>>> zeige_escape(s)
> Hallo\nNeue Zeile

Um die Frage zu beantworten:

an der interaktiven Konsole brauchst du sowas gar nicht.

>>> s = 'two\nlines'
>>> s
'two\nlines'

Hier benutzt Python intern die Function repr():

>>> repr(s)
"'two\\nlines'"
>>> print(s)
two
lines
>>> print(repr(s))
'two\nlines'
>>>


> Hat jemand eine Idee?

Im Prinzip würde ich in so einem Fall eifach empfehlen, alle
Zeilenumbrüche, egal wie sie aussehen, pauschal zu ersetzen:

s.replace('\r\n', '\n')

-- 
Thomas Jollans





More information about the Python-list mailing list