Python tkFileDialog和Zipfile错误:";属性错误:'_io.TextIOWrapper';对象没有属性';名单'&引用;

Python tkFileDialog和Zipfile错误:";属性错误:'_io.TextIOWrapper';对象没有属性';名单'&引用;,python,tkinter,zipfile,Python,Tkinter,Zipfile,我试图使用tkfiledialog选择一个文件,然后使用Zipfile提取内容 from zipfile import ZipFile from tkinter import filedialog ZipFile.extractall(filedialog.askopenfile()) 将返回此错误: AttributeError: '_io.TextIOWrapper' object has no attribute 'namelist' 谷歌搜索并没有给我一个明确的答案,但我尝试了几

我试图使用tkfiledialog选择一个文件,然后使用Zipfile提取内容

from zipfile import ZipFile
from tkinter import filedialog


ZipFile.extractall(filedialog.askopenfile())
将返回此错误:

AttributeError: '_io.TextIOWrapper' object has no attribute 'namelist'

谷歌搜索并没有给我一个明确的答案,但我尝试了几个.zip文件并得到了消息。有什么想法吗?

filedialog.askopenfile()
返回一个文件对象,但是,
ZipFile.extractall
接受一个字符串(用于路径)。您需要的是
filedialog.askopenfilename()
,它只返回所选文件的绝对文件路径(这意味着ZipFile可以使用它)


希望这有帮助

您正在错误地使用zipfile库。试试这个:

from zipfile import ZipFile
from tkinter import filedialog


zip_file = ZipFile(filedialog.askopenfilename())
zip_file.extractall()

extractall
的文档中说第一个参数是文件路径
askopenfile()
不返回文件路径。就是这样!谢谢你回答了一个可能是愚蠢的问题。“你刚刚结束了很多恼怒的事情。”@clarktwain如果答案是正确的,请把它标记为正确的,这样其他有同样问题的人可以很快找到答案。