Python tkFileDialog和Zipfile错误:";属性错误:'_io.TextIOWrapper';对象没有属性';名单'&引用;
我试图使用tkfiledialog选择一个文件,然后使用Zipfile提取内容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' 谷歌搜索并没有给我一个明确的答案,但我尝试了几
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如果答案是正确的,请把它标记为正确的,这样其他有同样问题的人可以很快找到答案。