今天寫了一個兩個基因集找相同的基因然后輸出這么個小程序就無論如何也跑不起來,原因出在循環嵌套上,這方面之前就出過問題,后來陰差陽錯的就好了我也沒太注意,但是最近這個問題嚴重制約了工作效率,我決心找到問題的所在。
for lanes in BetaTop1.readlines(): lane = lanes.strip('\n').split("\t") Location = int(lane[0]) for startsite in a: if Location >= startsite and Location <= (startsite + 10000): x.write("%i\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n" %(Location,lane[1],lane[2],lane[3],lane[4],lane[5],lane[6],lane[7])) break else: continue
這是今天可以跑的版本,我之前的錯誤在於把文件循環嵌套在了列表循環中,因為文件相對小一點,占的內存比較小,我就想先內圈用文件來循環,可以一直就是內圈只跑一次,外圈運行一次然后就都是外圈在跑了,檢查了控制結構之后發現沒有問題,對照之前可以跑的腳本之后我發現我的文件循環是套在內圈的,所以很有可能是文件循環不能套在列表循環里面,果然,互換了嵌套位置之后程序就可以正常的工作了。
文件循環不能套在列表循環里!!!!!!!
那么文件循環可以不可以出現在其他文件循環中間呢,to be continue!