python tarfile解压失败怎么解决

问题原因

在使用tarfile模块解压一份Linux服务器上的打包文件时,出现了错误提示:IOError:[Errno 22] invalid mode ('wb') or filename.

经过检查,发现是因为打包文件中有文件名存在“:”符号,而window下的文件名是不能有“:”符号的,所以报错。

相关推荐:《Python基础教程》

解决办法

可以将解压时含“:”的地方转换成“_”等正常的符号即可。

extract = tarfile.open(file)
for f in extract:
    # add other unsavory characters in the brackets
    f.name = re.sub(r'[:]', '_', f.name)
extract.extractall(path=new_path)
extract.close()

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python tarfile解压失败怎么解决