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

问题描述 投票:0回答:2

我有一个名称为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
python command-line gzip
2个回答
2
投票

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

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

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

1
投票

添加新的行字符\n

f = gzip.open('rare_seq.txt.gz', 'wt')
for line in rare_seq:
    f.write(line+"\n") #newline character here
f.close()
© www.soinside.com 2019 - 2024. All rights reserved.