python解压tgz出现OSError: [Errno 22] Invalid argument:

python解压tgz出现OSError: [Errno 22] Invalid argument:

问题描述:

想用python批量解压tgz文件,简单试试但却遇到问题,代码如下
`
import tarfile

dectgzpath='20180601T000004Z-mlab1-yyz02-neubot-0000.tgz'
objpath='E:/test'

tar = tarfile.open(dectgzpath,'r:gz')
names = tar.getnames()
for name in names:
tar.extract(name, path=objpath)
tar.close()

出现这个错误
OSError: [Errno 22] Invalid argument: 'E:\\test\\2018\\06\\01\\20180601T00:00:04.216228008Z_dash.gz'
这个文件里面包含多层目录,我开始以为是要自己创建文件夹但我试过,并没有用,有没有大佬能够帮我看下,谢谢

你的文件名里面有冒号,而文件名是不允许冒号的,你把它替换成减号、下划线等支持的字符,或者干脆去掉。

在windows操作系统里,冒号只能用于标记盘符,比如c: d:,而不许出现在文件名里。