运行IDLE与运行脚本

时间:2018-05-25 12:43:01

标签: python windows bioinformatics

所以我有一些Python代码(运行Python 2.7.12),它使用VEP根据特定的脚本来注释vcf文件。

当我通过双击它运行脚本(或从命令提示符运行它)时,它会出现以下错误:

  

C:\ annotatetsca_KH \ annotate.py:364:UnicodeWarning:Unicode等同比较无法将两个参数都转换为Unicode - 将它们解释为不相等

     

如果在trans_transcripts中的transcript:

然后,这会导致某些变体不能针对指定的记录进行注释。但是,如果我将脚本加载到IDLE中,然后通过IDLE运行完全相同的代码,我就不会收到此错误,并且变体已正确注释。

有谁知道为什么通过IDLE运行脚本会产生不同的结果?据我所知,以及我与之谈过的一些同事,IDLE和Python应该对待一切都完全一样。并且有没有人知道如何通过IDLE运行脚本以避免此错误,因为许多不熟悉Python / IDLE的人会使用此脚本,并且会发现它更容易运行双击它的脚本(像任何其他Windows应用程序一样)。

编辑(已解决):

我找到了问题的原因。成绩单清单中的一些成绩单最后有一个空格。似乎IDLE剥离尾随空格但直接运行python脚本却没有。因此,当直接运行它时,尾随空格被转换为" \ xa0",所以当它试图将转录本与指定列表中的一个匹配时,它不匹配。我删除了所有空格并且工作正常,我还会在成绩单列表中添加一行以删除任何空格!

1 个答案:

答案 0 :(得分:0)

我找到了问题的原因。成绩单列表中的一些成绩单末尾有空格。看起来IDLE会删除尾随空格,但直接运行python脚本不会。因此,当直接运行它时,尾随空格将转换为“ \ xa0”,因此当它试图将脚本与指定列表中的脚本匹配时,它不匹配。我已经删除了所有空格,并且可以正常工作,并且还将添加一行以在加载到成绩单列表中时删除所有空格!

相关问题