将列表项作为行写入 python 中的 .gz

writing items of the list as lines to .gz in python

我有一个名为 rare_seq 的列表,如下所示。

rare_seq=['NNGGGCGACAGAC','NNGGGCGACAGAC','CCCTTGTTCAGAT]

print(len(rare_seq))=3

我的目标是将列表 rare_seq 的项目保存到 .gz 文件。

我试了下面的方法

f = gzip.open('rare_seq.txt.gz', 'wt')
for line in rare_seq:
    f.writelines(line)
f.close()

这会将列表保存为一行而不是三行。

当我使用命令zcat查看rare_seq.txt.gz的内容时,我得到以下输出。

zcat rare_seq.txt.gz >> NNGGGCGACAGACNNGGGCGACAGACCCCTTGTTCAGAT

列表中的所有项目都在同一行中。

我想要的输出:

zcat rare_seq.txt.gz >> 
NNGGGCGACAGAC
NNGGGCGACAGAC
CCCTTGTTCAGAT

zcat rare_seq.txt.gz | wc -l >> 3

添加换行符\n

f = gzip.open('rare_seq.txt.gz', 'wt')
for line in rare_seq:
    f.write(line+"\n") #newline character here
f.close()

writelines 写入多行。 write 写一行。因此,

for line in rare_seq:
    f.write(line + "\n")

f.writelines(line + "\n" for line in lines)