Docstrings wrappen

Code-Stücke können hier veröffentlicht werden.
Antworten
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Der folgende Schnipsel ist zum Einrücken von Text, vornehmlich von Docstrings gedacht. `indent` ist die Anzahl der führenden Leerzeichen und die Breite ist defaultmäßig PEP8 konform eingestellt.

Code: Alles auswählen

from textwrap import fill

def wrap_text(s, indent=None, width=72, strip_chars='\n'):
    stripped = s.strip(strip_chars)
    if indent is None:
        indent = get_leading_spaces(stripped)
    clean = ' '.join(stripped.split())
    return fill(clean, width=width, initial_indent=' ' * indent,
                                 subsequent_indent=' ' * indent)

def get_leading_spaces(s):
    for (spaces, char) in enumerate(s):
        if not char == ' ':
            return spaces
Antworten