luojunhao1994
geraltzzz
采纳率50%
2018-08-23 09:56 阅读 1.8k

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

5

想用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'
这个文件里面包含多层目录,我开始以为是要自己创建文件夹但我试过,并没有用,有没有大佬能够帮我看下,谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2018-08-23 15:42

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

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2018-08-23 15:43

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

    点赞 评论 复制链接分享

相关推荐