Python错误TypeError:必须是字符串或缓冲区,而不是实例

时间:2016-11-30 17:44:56

标签: python typeerror urllib

我正在尝试下载QListWidget中列出的一些图像我将链接传递给urllib但它给我 TypeError:必须是字符串或缓冲区,而不是实例 这个错误。我试着在这里查找,但在这里找不到任何解决方案是我的代码。谢谢

    def downloadStuff(self):
    files = self.listWidget.selectedItems()
    for filename in files:
        filename = filename.text()
        filename = str(filename)
        print filename
        xfilename = filename.split('/')[-1]
        with open('D:/'+xfilename,'wb') as imageFile:
            print filename
            imageFile.write(urllib.urlopen(filename)).read()
        imageFile.close()

1 个答案:

答案 0 :(得分:1)

如果没有看到堆栈跟踪,很难肯定地说,但我怀疑这一行:

imageFile.write(urllib.urlopen(filename)).read()

应改为:

imageFile.write(urllib.urlopen(filename).read())

顺便说一句,您不需要imageFile.close()行,因为with语句会自动为您关闭文件。

相关问题