我正在尝试使用tkfiledialog来选择文件,然后使用Zipfile来提取内容。
from zipfile import ZipFile
from tkinter import filedialog
ZipFile.extractall(filedialog.askopenfile())
返回此错误:
AttributeError: '_io.TextIOWrapper' object has no attribute 'namelist'
谷歌搜索它没有给我一个明确的答案,但我尝试了几个.zip文件并得到了消息。有什么想法吗?
答案 0 :(得分:1)
filedialog.askopenfile()
返回一个文件对象,但ZipFile.extractall
接受一个字符串(对于路径)。你想要的是filedialog.askopenfilename()
,它只返回所选文件的绝对文件路径(这意味着ZipFile可以使用它)
希望这有帮助!
答案 1 :(得分:1)
您正在错误地使用zipfile库。试试这个:
from zipfile import ZipFile
from tkinter import filedialog
zip_file = ZipFile(filedialog.askopenfilename())
zip_file.extractall()