我使用的是python2.7.3btw
大家好
我有点小问题。问题是我总是遇到麻烦与下面的星线。(抱歉,对Python有点陌生)
到目前为止我的代码是:
with open('parsedChr','w') as fout, open('heartLungClassU.gtf','r') as filein:
average = 0
difference = 0
position = ''
bp = 0
for line in filein:
**chrom,cuff,exon,start,end,dot,sign,dots,gene,tranid,exonid,rest = line.split('\t',11)**
## notice 12 variables here so I tried to unpack with value 11
##more code after
我一直收到这个错误:
^{pr2}$我不明白为什么——请注意,我要把这行分成12个变量。为什么python会抱怨需要超过9个值才能解包?我以前有过这样的代码,我必须把它分成6个变量,所以在中使用了5个变量线.分割(按我的理解,5分为6块),但我不明白为什么类似的逻辑在这里行不通。在
编辑:以下是文件的一部分:
chr1 Cufflinks exon 14765607 14765689 . + . gene_id "XLOC_000018"; transcript_id "TCONS_00001260"; exon_number "1"; oId "CUFF.68.1"; class_code "u"; tss_id "TSS40";
chr1 Cufflinks exon 14766604 14767199 . + . gene_id "XLOC_000018"; transcript_id "TCONS_00001260"; exon_number "2"; oId "CUFF.68.1"; class_code "u"; tss_id "TSS40";
chr1 Cufflinks exon 21156530 21156632 . + . gene_id "XLOC_000028"; transcript_id "TCONS_00002433"; exon_number "1"; oId "CUFF.88.1"; class_code "u"; tss_id "TSS69";
编辑:Meh。明白了。谢谢大家的帮助。在
这意味着您的行没有包含足够的(在本例中至少9个)制表符字符,因此
split()
调用将用拆分后的值填充所有变量。在以下代码将产生相同的错误:
这意味着该行仅分为9个值:
示例:
{cd1>你可以添加这个条件:
^{pr2}$要查看错误所在的确切行号,请执行以下操作:
在您的评论中,您为文本文件提供了一个link。我找不到任何少于11个标签的行:
^{pr2}$仔细检查你是否真的打开了你认为你正在打开的文件。在
相关问题 更多 >
编程相关推荐