Python 将文件中的序列划分为3并对其编号

Python 将文件中的序列划分为3并对其编号,python,indexing,Python,Indexing,我有一个包含序列的文件:ATGAAGCTAGGCATTC。我想要一个简单的python代码 将此序列分为3个:ATG AAG GCT。。。。然后将它们的指数也划分为3: 123 456 789........ 最终打印输出应如下所示: ATG 123 AAG 456 CTA 789 GGC 101112 ATA 131415 TTC 161718 这就是我到目前为止所做的: #!/usr/bin/python import string import sys fileName1=sys.a

我有一个包含序列的文件:ATGAAGCTAGGCATTC。我想要一个简单的python代码 将此序列分为3个:ATG AAG GCT。。。。然后将它们的指数也划分为3: 123 456 789........

最终打印输出应如下所示:

ATG 123
AAG 456
CTA 789
GGC 101112
ATA 131415
TTC 161718
这就是我到目前为止所做的:

#!/usr/bin/python
import string
import sys
fileName1=sys.argv[1];
o=open(fileName1);
I=o.readlines();
I=map(string.strip,I);
I=''.join(I);
for i in range(0,len(I),3):
    print I[i:i+3], i+1; 
我得到了这个输出:

ATG 1
AAG 4
CTA 7
GGC 10
ATA 13
TTC 16
第一列是正确的,但第二列不是我想要的。

而不是

print I[i:i+3], i+1; 


您可以告诉read指令一次获取三个字符:

i=1
while True :
    v = o.read(3)
    print v, " ", i, i+1, i+2
    i+=3
    if len(v) < 3:
        break
i=1
尽管如此:
v=o.read(3)
打印v,“”,i,i+1,i+2
i+=3
如果len(v)<3:
打破
i=1
while True :
    v = o.read(3)
    print v, " ", i, i+1, i+2
    i+=3
    if len(v) < 3:
        break