擅长:python、mysql、java
<p>有几种方法可以做到这一点,但没有一种特别快</p>
<p>如果要保留行尾,可以尝试<code>re</code>模块:</p>
<pre><code>lines = re.findall(r'[\r\n]+|[^\r\n]+[\r\n]*', text)
# or equivalently
line_split_regex = re.compile(r'[\r\n]+|[^\r\n]+[\r\n]*')
lines = line_split_regex.findall(text)
</code></pre>
<p>如果需要结尾,并且文件非常大,则可能需要迭代:</p>
<pre><code>for r in re.finditer(r'[\r\n]+|[^\r\n]+[\r\n]*', text):
line = r.group()
# do stuff with line here
</code></pre>
<p>如果您不需要结尾,那么您可以更轻松地完成:</p>
<pre><code>lines = list(filter(None, text.splitlines()))
</code></pre>
<p>如果只是迭代结果(或使用Python2),则可以省略<code>list()</code>部分:</p>
<pre><code>for line in filter(None, text.splitlines()):
pass # do stuff with line
</code></pre>