我有这样的代码
rar = rarfile.RarFile(source_filename)
files = rar.namelist()
count_files =len(files)
i = 0
for f in files:
i = i+1
percent = int((i/float(count_files))*100)
rar.extract(f,dest_dir,self.pwd)
self.emit(percent)
rar.close()
我想显示基于GUI应用程序中文件的rar文件提取百分比。如果rar文件没有使用password加密,则此代码正常工作。如果rar文件受密码保护。 rar.namelist()函数总是为空列表。如何获取密码加密的rar文件中的所有文件名? 如何在python中获得密码保护rar文件提取的百分比?
答案 0 :(得分:2)
查看docs,您似乎应该使用setpassword
为其提供密码。
示例:
rar = rarfile.RarFile(source_filename)
if rar.needs_password():
rar.setpassword('') # whatever the password is
# Rest of code here
如果您不知道密码,则无法解压缩文件。所以在这种情况下,我并没有真正看到进度条中的重点。