慢跑与慢跑

2024-05-16 10:26:38 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一些Python代码(运行python2.7.12),它使用VEP根据特定的转录本注释vcf文件。你知道吗

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

C:\annotatetsca_KH\annotate.py:364: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal

if transcript in specified_transcripts:

这就导致一些变体不能针对指定的转录本进行注释。但是,如果我将脚本加载到IDLE中,然后通过IDLE运行完全相同的代码,我就不会得到这个错误,并且变量也被正确地注释了。你知道吗

有人知道为什么通过IDLE运行脚本会产生不同的结果吗?据我所知,以及我与一些同事交谈过的情况,IDLE和Python应该一视同仁。有没有人知道如何避免通过IDLE运行脚本来避免这个错误,因为这个脚本是由许多不熟悉Python/IDLE的人使用的,他们会发现通过双击它来运行脚本要容易得多(就像任何其他Windows应用程序一样)。你知道吗

编辑(已解决):

我找到了问题的原因。成绩单列表中的一些成绩单末尾有一个空格。看起来IDLE会删除尾随空格,但直接运行python脚本不会。因此,当直接运行它时,尾随的空格被转换为“\xa0”,因此当它试图将转录本与指定列表中的一个匹配时,它不匹配。我已经删除了所有的空间,它的作品很好,我还将添加一行删除任何空间时,载入成绩单列表!你知道吗


Tags: 文件to代码脚本列表错误unicode空间