导读 在使用 Python 的 `zipfile` 模块解压 `.zip` 文件时,有时会遇到中文文件名乱码的问题,这让人头疼。尤其是在文件名编码不统一的情...
在使用 Python 的 `zipfile` 模块解压 `.zip` 文件时,有时会遇到中文文件名乱码的问题,这让人头疼。尤其是在文件名编码不统一的情况下,解压后的文件名可能变成一堆乱码字符。别担心!下面教你轻松解决这个问题。
首先,我们需要了解问题的核心:乱码通常是因为压缩文件中的文件名编码格式与当前系统默认编码不一致导致的。可以通过设置正确的编码来修复。以下是一个简单的解决方案👇:
```python
import zipfile
def unzip_file(zip_path, extract_path):
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
for file in zip_ref.namelist():
设置正确的编码,例如 GBK 或 UTF-8
decoded_name = file.encode('cp437').decode('gbk')
zip_ref.extract(file, extract_path)
重命名文件
os.rename(os.path.join(extract_path, file),
os.path.join(extract_path, decoded_name))
使用示例
unzip_file("example.zip", "./extracted/")
```
通过将文件名从 `cp437` 编码转换为 `gbk`(或其他适合的编码),可以有效避免乱码问题。记得根据实际需求调整编码方式哦!💪
💡 小贴士:如果文件名编码不确定,可以尝试常见的几种编码方式(如 `utf-8`, `gbk`, `latin1` 等),找到最适合的一种即可。
希望这篇分享能帮到你,从此告别文件名乱码的烦恼!🌟