Python包RSeQC中存在无效语法错误

2024-09-29 19:28:22 发布

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

我试图在一个名为RSeQC的Python包中运行一个名为read_distribution.py的函数。但是,当我运行以下命令时:

 python3 read_distribution.py -i mysample.bam -r hg38_RefSeq.bed

我得到以下错误:

 File "distribution.py", line 278
     print  "%-30s%d" % ("Total Reads",totalReads)
                   ^
 SyntaxError: invalid syntax 

read_distribution.py代码中的第275-282行如下所示:

 except StopIteration:
    print >>sys.stderr, "Finished\n"                

print "%-30s%d" % ("Total Reads",totalReads)
print  "%-30s%d" % ("Total Tags",totalFrags)
print  "%-30s%d" % ("Total Assigned Tags",totalFrags-unAssignFrags)

print  "====================================================================="

这是我的python版本的问题吗?我不知道足够的Python来解决这个问题,因此非常感谢您的帮助,谢谢


Tags: 函数py命令readtagspython3distributiontotal
2条回答

我相信这个包是用Python2编写的,它没有让您在打印后放置(),而在Python3中,它更改为在打印后放置(),您使用的是Python3

我打赌您使用的是Python 3.X。从3.0开始,print语句就变成了一个函数,需要像调用任何函数一样使用括号。因此,要在Python 3.X中工作,您显示的代码需要如下所示:

print("%-30s%d" % ("Total Reads",33))
print("%-30s%d" % ("Total Tags",33))
print("%-30s%d" % ("Total Assigned Tags",12))

print("=====================================================================")

互联网上有一些脚本可以将大部分Python 2.X代码转换为3.X,如果您还有很多代码需要转换的话。或者,如果您从其他地方获得代码,可能他们有一个Python3.X版本可用

相关问题 更多 >

    热门问题