擅长:python、mysql、java
<p>可以使用<a href="http://docs.python.org/library/stdtypes.html#str.rstrip" rel="nofollow noreferrer">rstrip</a>删除换行符:</p>
<pre><code>alus = []
with open('alus.txt', 'r') as f:
for rida in f:
rida=rida.rstrip()
if rida: alus.append(rida)
else: break
</code></pre>
<p>顺便说一下,测试字符串是否为空的通常方法是</p>
^{pr2}$
<p>而不是</p>
<pre><code>if (rida == ''):
</code></pre>
<p>如果您有一个<code>if...else</code>块,您应该考虑非否定形式:</p>
<pre><code>if rida:
</code></pre>
<p>因为它通常更容易阅读和理解。在</p>
<p><strong>编辑:</strong>我之前关于删除<code>break</code>的评论是错误的。(我把<code>break</code>和<code>continue</code>弄错了)由于<code>break</code>停止了循环,所以需要保留它以保留原始代码的行为。在</p>
<p><strong>edit2:</strong><a href="https://stackoverflow.com/questions/4062858/problem-with-reading-file-in-python/4062944#4062944">A.L. Flanagan</a>正确地指出<code>rstrip</code>删除了所有尾随空格,而不仅仅是结束换行符。如果只想删除换行符,可以使用A.L.Flanagan的方法,或者将要删除的字符列为<code>rstrip</code>的参数:</p>
<pre><code>rida = rida.rstrip(r'\r\n')
</code></pre>