xotl.tools.future.textwrap
- Text wrapping and filling¶
This module extends the standard library’s textwrap
. You may use it as
a drop-in replacement in many cases.
Avoid importing *
from this module since could be different in Python 2.7
and Python 3.3.
We added the following features.
-
xotl.tools.future.textwrap.
dedent
(text, skip_firstline=False)[source]¶ Remove any common leading whitespace from every line in text.
This can be used to make triple-quoted strings line up with the left edge of the display, while still presenting them in the source code in indented form.
Note that tabs and spaces are both treated as whitespace, but they are not equal: the lines
" hello"
and"\thello"
are considered to have no common leading whitespace.If
skip_firstline
is True, the first line is separated from the rest of the body. This helps with docstrings that follow PEP 257.Warning
The
skip_firstline
argument is missing in standard library.
We have backported several Python 3.3 features but maybe not all.
-
xotl.tools.future.textwrap.
indent
(text, prefix, predicate=None)[source]¶ Adds ‘prefix’ to the beginning of selected lines in ‘text’.
If ‘predicate’ is provided, ‘prefix’ will only be added to the lines where ‘predicate(line)’ is True. If ‘predicate’ is not provided, it will default to adding ‘prefix’ to all non-empty lines that do not consist solely of whitespace characters.