我正在尝试使用函数检查zip文件的密码是否正确:
import zipfile
def isCorrectPassword(zip_file, password):
try:
zip_file.extractall(pwd=bytes(password,'utf-8'))
print("Success")
return True
except:
print("Fail")
return False
但是,当我运行它时,它返回False。我知道密码是正确的。
我试过用这个重新运行这个脚本:
zip_file.extractall(pwd=bytes(password,'utf-8'))
包括所有必要的变量,但它仍然不起作用 - 它会产生这个错误:
AttributeError:'str'对象没有属性'extractall'
我做错了什么?
答案 0 :(得分:2)
您的zip_file变量是一个字符串,因此无法在其上调用extract_all。试试这个:
def isCorrectPassword(zip_file, password):
try:
with zipfile.ZipFile(zip_file) as file:
file.extractall(pwd=bytes(password,'utf-8'))
print("Success")
return True
except:
print("Fail")
return False