【发布时间】:2025-12-06 20:30:02
【问题描述】:
我有一个文件如下:
>abc
AAA
AAA
>dfgg
BBBBB
BBBBB
BB
>zzz
CCCCC
CCC
我想要的输出是:
>abc
AAAAAA
>dfgg
BBBBBBBBBBBB
>zzz
CCCCCCCC
就是把多行变成单行。
我写了以下代码:
f = open('test.txt', 'r')
currentline = ""
for line in f:
if line.startswith('>'):
line = line.rstrip('\n')
print line
else:
line = line.rstrip('\n')
currentline = currentline + line
print currentline
f.close()
当然,这是不对的,因为currentline 会一直增长到最后。我不知道如何更新currentline 并按指示打印输出。
我知道一种选择是使用f.read() 或f.readlines() 读取整个文件,并将文件视为字符串或列表,但由于文件非常大,并且不以'>'开头的每一行都可以最多2000万个字符,我认为最好不要一次将整个文件读入内存并逐行处理。请让我知道您对此有何看法。
感谢您的帮助!
【问题讨论】:
标签: python