2017-09-13 48 views
-1
的足够数量

你好,我是新的Python和有一点问题 预先感谢您解决这个问题,我无法理解:(双for循环不会导致线路

这里的两个文件我要打印蟒蛇壳

文件1是这样的:

chr6 43547333,43547553 CTCF 

chr6 43547100,43547500 TFTF 

chr6 43547200,43547699 AAAA 

和,文件2看起来是这样的:

1114 NR_073422 chr6 + 43547400 43547700 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 

1114 NR_073422 chr6 + 43547100 43547200 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 

,我试图尝试这样

ENCODE_edit = open("/media/jiyeonh/external/3.ENCODE/test_1.txt","r") 
ACTN1_raw = open("/media/jiyeonh/external/3.ENCODE/test_2.txt","r") 
for a in ENCODE_edit.readlines(): 
    print(a) 
    for b in ACTN1_raw.readlines(): 
    print(b) 

Python代码我预计

chr6 43547333,43547553 CTCF 

1114 NR_073422 chr6 + 43547400 43547700 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 

1114 NR_073422 chr6 + 43547100 43547200 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 


chr6 43547100,43547500 TFTF 

1114 NR_073422 chr6 + 43547400 43547700 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 

1114 NR_073422 chr6 + 43547100 43547200 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 


chr6 43547200,43547699 AAAA 

1114 NR_073422 chr6 + 43547400 43547700 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 

1114 NR_073422 chr6 + 43547100 43547200 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1 

,但我的结果是这样的

chr6 43547333,43547553 CTCF 

1114 NR_073422 chr6 + 43547400 43547700 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 

1114 NR_073422 chr6 + 43547100 43547200 69454180 69454180 4 69446398,69446644,69452401,69454061, 69446501,69446904,69452518,69454180, 0 ACTN1-AS1 unk unk -1,-1,-1,-1, 


chr6 43547100,43547500 TFTF 

chr6 43547200,43547699 AAAA 

查看结果:Link

我不能明白为什么它不' t在第二和第三回路重复内部循环

我做错了什么? :(

+0

你试过是一个更容易的结构吗?这看起来很奇怪,因为据我所见,代码应该返回你所期望的... – Glostas

回答

0

尝试此代码

ENCODE_edit = open("/media/jiyeonh/external/3.ENCODE/test_1.txt","r") 
for a in ENCODE_edit.readlines(): 
    print(a) 
    ACTN1_raw = open("/media/jiyeonh/external/3.ENCODE/test_2.txt","r") 
    for b in ACTN1_raw.readlines(): 
    print(b) 
    ACTN1_raw.close() 

readlines方法()使用的ReadLine(),并返回含因此线读取的列表读直至EOF,所以在代码,在外环的第二次执行中, ACTN1_raw.readlines()可能在EOF和多数民众赞成在为什么不返回任何东西

+0

它的工作原理!!!!甚至不知道EOF是什么意思,但由于你的亲切解释而学会了它:)非常感谢你 – dianahan