==== 解压时zip文件名过长==== === 背景 === 由于网盘下载下来压缩包比较多,一个一个手动解压比较费时,所以等战拜托我写了一个针对目录下所有压缩包的自解压程序。 === 经过 === 在运行这个自动解压所有压缩包的时候,等战发现存在某些压缩包,在运行时会出现文件名过长的问题。在谷歌及StackOverflow上查找相关问题,发现由于某些压缩包是在windows或mac系统下打包的,而在linux下,单个文件名以及文件夹名的utf8编码不能超过256的字节长度,完整路径的长度不能超过4096个字节。 === 结果 === 对于仅有最后一个文件名过长的情况,截断其中间部分,且在中间部分加入8位md5值避免重复覆盖。对于其他情况,单独创建一个文件夹,截断其中间部分,组成新的文件名放入新文件夹中。详情请参考: [[https://github.com/aplmikex/deduplication_mnbvc/blob/main/corpus_processing/extract.py | 解压代码]]。