擅长:python、mysql、java
<p>你的代码很好,你需要做的就是找到合适的地方来更新<code>currentline</code>。找到下一个标志后,您将进行更新,在您的示例中,下一个标志是以<code>></code>开头的行。</p>
<pre><code>f = open('test.txt', 'r')
currentline = ""
for line in f:
if line.startswith('>'):
line = line.rstrip('\n')
if currentline != "": print currentline
print line
currentline = ""
else:
line = line.rstrip('\n')
currentline = currentline + line
print currentline
f.close()
Input:
>abc
AAA
AAA
>dfgg
BBBBB
BBBBB
BB
>zzz
CCCCC
CCC
Output:
>abc
AAAAAA
>dfgg
BBBBBBBBBBBB
>zzz
CCCCCCCC
# edited code above and tested it with the below file based on ypnos's comment.
Input:
>abc
AAA
AAA
>dfgg
BBBBB
BBBBB
BB
>
>
>>
>zzz
CCCCC
CCC
Output:
>abc
AAAAAA
>dfgg
BBBBBBBBBBBB
>
>
>>
>zzz
CCCCCCCC
</code></pre>
<p>编辑:ypnos很好地指出,上面的代码会打印不必要的换行符。我对上面的代码做了一个小小的修改,它现在避免了打印这些代码。请参阅上面的新测试用例。</p>