当前位置: 首页 > 面试题库 >

从函数中的TypeError开始

邹书
2023-03-14
问题内容

这是代码:

    def readFasta(filename):
        """ Reads a sequence in Fasta format """
        fp = open(filename, 'rb')
        header = ""
        seq = ""
        while True:
            line = fp.readline()
            if (line == ""):
                break
            if (line.startswith('>')):
                header = line[1:].strip()
            else:
                seq = fp.read().replace('\n','')
                seq = seq.replace('\r','')          # for windows
                break
        fp.close()
        return (header, seq)

    FASTAsequence = readFasta("MusChr01.fa")

我得到的错误是:

TypeError: startswith first arg must be bytes or a tuple of bytes, not str

但是startswith根据文档,第一个参数应该是字符串…那么怎么回事?

我假设至少使用Python 3,因为我使用的是最新版本的LiClipse。


问题答案:

这是因为您是以字节模式打开文件的,所以您调用bytes.startswith()而不是str.startswith()

你需要做的line.startswith(b'>'),这将使'>'一个字节的文字。



 类似资料:
  • 问题内容: 我正在尝试创建一个简单的AJAX请求,该请求从MySQL数据库返回一些数据。这是我的以下功能: …在这里我称之为解析所需的参数: 但是,我的成功回调未运行(因为“成功!”未记录到控制台),并且在控制台中出现错误: 这是什么意思?在成功事件触发$ .ajax内部的匿名函数之前,我已经完成了AJAX请求,但是现在我试图运行一个单独的命名函数(在本例中为回调)。我该怎么办? 问题答案: 这里

  • 我正在创建一个简单的AJAX请求,它从数据库返回一些数据。下面是我的函数: 这就是我称之为它的地方,提供了所需的参数: 但是,回调没有运行,相反,我在控制台中得到一个错误: 为什么?我以前做过AJAX请求,成功事件会触发$.AJAX中的匿名函数,但现在我尝试运行一个单独命名的函数。我该怎么办?

  • 我用创建了一个简单的React-app,它在本地主机上运行良好。我现在正在尝试对应用程序进行Dockerify。这是我的包裹。json: 这是我的Dockerfile: 我用以下方法构建图像: 然后我运行图像作为一个容器: 这抛出: $docker run--发布3000:3000 yeet yeet@0.1.0生产/应用程序npm运行构建 yeet@0.1.0生成/应用程序响应脚本生成 /app

  • 我在WordPress插件中有一个简单的jQuery脚本,它使用了如下jQuery包装器: 我从WordPress仪表板中调用这个脚本,并在jQuery框架加载后加载它。 当我检查Firebug中的页面时,我总是收到错误消息: TypeError:$不是函数 $(document).Ready(function(){ 我是否应该将脚本包装在这个函数中: 这个错误我已经犯了好几次了,不知道该怎么处理

  • 问题内容: 尝试轮询AngularJS资源上的自定义方法时,我在处收到以下错误:(该方法工作正常。) Angular.js 10016-10035: 简化的资源: 我收到错误的简化指令: 一旦运行该方法,执行该行就会引发上面的错误。 在Chrome检查器中,我看到对API的调用实际上已完成。但是兑现诺言似乎会引发一些错误… 我该如何解决这个错误? 编辑: Angular Resource正在尝试用

  • 我试图让一个简单的react-redux应用程序工作,但我遇到了一个奇怪的错误,我无法解决。我正在尝试简单地设置我当前用户的名字和处理商店,一个设置函数工作,而另一个不。 setCurrentUserFirstName-工作setCurrentUserHandle-不工作 我将它们作为操作放在useractions.js文件中 在减速器中 我有什么不对的?