擅长:python、mysql、java
<p>我觉得那是个很好的方法。您可以改进的一件事是,您的方法引入了一个前置换行符,并删除了任何后续换行符。这不会:</p>
<pre><code>'\t\t\t'.join(myStr.splitlines(True))
</code></pre>
<p><a href="http://docs.python.org/2/library/stdtypes.html#str.splitlines" rel="noreferrer">From the docs:</a></p>
<blockquote>
<p>str.splitlines([keepends]) </p>
<blockquote>
<p>Return a list of the lines in the string,
breaking at line boundaries. This method uses the universal newlines
approach to splitting lines. Line breaks are not included in the
resulting list unless keepends is given and true.</p>
</blockquote>
</blockquote>
<p>此外,除非字符串以换行符开头,否则不会在字符串开头添加任何制表符,因此您可能也希望这样做:</p>
<pre><code>'\t\t\t'.join(('\n'+myStr.lstrip()).splitlines(True))
</code></pre>