Python error TypeError: must be string or buffer, not instance
Python error TypeError: must be string or buffer, not instance
我正在尝试下载 QListWidget 中列出的一些图像我正在将链接传递给 urllib 但它给我 类型错误:必须是字符串或缓冲区,而不是实例这个错误。我试着在这里查找,但在这里找不到任何解决方案是我的代码。谢谢
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()
在没有看到堆栈跟踪的情况下很难确定,但我怀疑这一行:
imageFile.write(urllib.urlopen(filename)).read()
应该改为:
imageFile.write(urllib.urlopen(filename).read())
顺便说一下,您不需要 imageFile.close()
行,因为 with
语句会自动为您关闭文件。
我正在尝试下载 QListWidget 中列出的一些图像我正在将链接传递给 urllib 但它给我 类型错误:必须是字符串或缓冲区,而不是实例这个错误。我试着在这里查找,但在这里找不到任何解决方案是我的代码。谢谢
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()
在没有看到堆栈跟踪的情况下很难确定,但我怀疑这一行:
imageFile.write(urllib.urlopen(filename)).read()
应该改为:
imageFile.write(urllib.urlopen(filename).read())
顺便说一下,您不需要 imageFile.close()
行,因为 with
语句会自动为您关闭文件。