Python解压文件报错怎么办?Python是使用tarfile解压文件报错如何解决

【Python解压文件报错怎么办?Python是使用tarfile解压文件报错如何解决】python之中是可以通过模块和方法来实现对文件的解压缩操作的,而很多小伙伴发现在解压文件时总是会出现报错提示 。所以今天的这一篇文章要来讲解的内容就是python使用tarfile模块解压文件出现报错的原因以及解决方法,一起往下看看吧 。

Python解压文件报错怎么办?Python是使用tarfile解压文件报错如何解决

文章插图
一、问题原因
任何python代码在出现错误时除了停止程序运行,同时还会将错误信息以及错误发生的代码行等重要内容同时给打印出来 。而这个解压文件时遇到的错误信息为IOError:[Errno 22] invalid mode ('wb') or filename,意思就是文件解压模式或者是文件名无效 。
那么根据该错误信息就可以推导出或许是压缩文件路径有误,又或者是使用了写入的文件模式等原因造成的,还有一种可能就是压缩文件内的文件或者文件夹名称存在错误 。
二、解决方法
那么这个问题的解决方法也很简单,先使用正确的方法和语法来调用tarfile模块解压文件,示例如下:
tar = tarfile.open('./etc/demo.tar.gz', 'r')tar.extractall(path='./tarfile')tar.close()如果以上代码运行时没有出现报错的话,那么就表示仅仅只是语法错误而已 。如果又出现了同样的错误信息,问题的错误原因就在于压缩文件内部了 。其中最有可能导致问题出现的原因就是文件名错误,因为在windows系统下是不允许文件名内存在处下划线和点之外的其他符号 。那么在文件对象实例化之后先不解压文件,而是读取其中的文件来修改名称,代码如下所示:
extract = tarfile.open(file)for f in extract:    f.name = re.sub(r'[:]', '_', f.name)extract.extractall(path=new_path)extract.close()以上就是关于“Python解压文件报错怎么办?Python是使用tarfile解压文件报错如何解决”的全部内容了,希望对你有所帮助 。

    推荐阅读