【发布时间】:2014-05-03 13:09:13
【问题描述】:
我有一个包含以下内容的纯文本文件:
@M00964: XXXXX
YYY
+
ZZZZ
@M00964: XXXXX
YYY
+
ZZZZ
@M00964: XXXXX
YYY
+
ZZZZ
我想将其读入一个根据 ID 代码@M00964 拆分为项目的列表,即:
['@M00964: XXXXX
YYY
+
ZZZZ'
'@M00964: XXXXX
YYY
+
ZZZZ'
'@M00964: XXXXX
YYY
+
ZZZZ']
我尝试过使用
in_file = open(fileName,"r")
sequences = in_file.read().split('@M00964')[1:]
in_file.close()
但这会删除 ID 序列 @M00964。有什么办法可以保留这个 ID 序列吗?
另外一个问题是有什么方法可以在列表中保留空格(而不是 /n 符号)。
我的总体目标是读入这组项目,以前 2 个项目为例,然后将它们写回保持所有原始格式的文本文件。
【问题讨论】:
-
.read()读取 1 行。尝试使用读取所有行的.readlines(),然后拆分'\n' -
您能否详细说明“在列表中保留空白(而不是具有 \n 符号)”的含义?
\n只是“换行符”的简写,即空格。 -
一个项目是什么样的?您上面的示例列表只有 1 项。
-
看起来像 FASTQ,其中一条记录总是 4 行。如果您想要前 2 条记录,只需打印前
2*4行。 -
@fredtantini Err,我认为您需要检查documentation。 Read 接受一个大小参数,如果没有,则读取整个文件。
标签: python list readfile splice dna-sequence