zip_file.extractall(zip_file, pwd=b'password', encoding='gbk') TypeError: extractall() got an unexpected keyword argument 'encoding'
时间: 2024-01-13 17:02:37 浏览: 162
这个错误是因为 `extractall()` 方法不支持 `encoding` 参数。这个参数是在 Python 3.7 中添加的,但是在 Python 3.6 中不支持。如果你的 Python 版本是 3.6,那么你需要将 `encoding` 参数从方法调用中删除。
如果你需要在 Python 3.6 中解压缩一个需要编码的 ZIP 文件,可以使用 `zipfile.ZipFile.read()` 方法读取单个文件,并在读取后使用 `bytes.decode()` 方法将其解码为字符串。以下是一个示例代码:
```python
import zipfile
with zipfile.ZipFile('example.zip', 'r') as zip_file:
for file_name in zip_file.namelist():
with zip_file.open(file_name, 'r') as file:
contents = file.read().decode('gbk')
# 处理文件内容
```
这个代码循环遍历 ZIP 文件中的所有文件,使用 `zipfile.ZipFile.open()` 方法打开每个文件,并使用 `bytes.decode()` 方法将文件内容解码为字符串。你可以在 `# 处理文件内容` 的位置添加你自己的代码来处理文件内容。
阅读全文