python 版本:3.8.6
现象
在解压后,发现文件名含有中文的文件消失了。并且多出了一个 @PaxHeader 文件。
在压缩包中可以看到所有中文被问号替代
问题
原因在于:
python3.8 之后默认 format 由 GNU_FORMAT 变为 PAX_FORMAT
解决
使用 tarfile 时候指定 format 参数为 GNU_FORMAT 就行了
# -*- coding: utf-8 -*-
import tarfile
with tarfile.open("xxx.tar", "w", format=tarfile.GNU_FORMAT) as tar:
tar.add("xxxxx", arcname="xxxx")
本文著作权归作者 [ zealoner ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。