擅长:python、mysql、java
<p>将字符串包装在<a href="https://docs.python.org/3/library/inspect.html#inspect.cleandoc" rel="nofollow noreferrer">a call to ^{<cd1>}</a>中,它将以清理docstring的方式清理它(删除前导和尾随空格,以及任何级别的常见缩进)。你知道吗</p>
<pre><code>>>> import inspect
>>> s = """jkljkj
... dfkjslfds
... sqjdlqkj"""
...
>>> print(s)
jkljkj
dfkjslfds
sqjdlqkj
>>> s = inspect.cleandoc(s)
>>> print(s)
jkljkj
dfkjslfds
sqjdlqkj
</code></pre>
<p><a href="https://docs.python.org/3/library/textwrap.html#textwrap.dedent" rel="nofollow noreferrer">^{<cd2>}</a>也是一个选项,但它更难看,因为它要求您在第一行上不放任何文本,并显式使用行连续字符以确保<em>每一行(不仅仅是第二行和以后的行)都有相同的前导缩进:</p>
<pre><code>>>> print(textwrap.dedent('''\
... The^backslash is a pain
... so I don't recommend this approach
... '''))
The^backslash is a pain
so I don't recommend this approach
</code></pre>
<p>注意,虽然SO上的代码块不能正确地显示它,<code>dedent</code>留下了空的最后一行(将结束的<code>'''</code>单独放在一行上),而<code>cleandoc</code>会将它删除。你知道吗</p>