在 python 下使用 python 解压缩(zip、tar、tar.bz2)文件

Unzip (zip, tar, tar.bz2) file with python under python

提问人:RockyRib 提问时间:11/15/2023 更新时间:11/15/2023 访问量:37

问:

我正在尝试制作一个脚本,用于在 Windows 下使用 python 解压缩 .tar 文件,.tar 文件包含一个文件夹 127.0.0.1:8004

如果我手动执行,我可以解压缩文件夹 127.0.0.1:8004,此文件夹采用另一个名称 127.0.0.1_8004

我尝试以下代码:


import tarfile
import os

path= r'C:\temp\Temp'
os.chdir(path)
finalName= os.listdir(".")[0]
finalName

if finalName.endswith("tar"):
    tar = tarfile.open(finalName, "r:")
tar.extractall()
tar.close()

但是当我尝试我的代码时,我变成了一个错误

输出:NotADirectoryError:[WinError 267] 目录名称无效:

  File ".\Test.py", line 14, in <module>
    tar.extractall()
  File "C:\Program Files\Python38\lib\tarfile.py", line 2024, in extractall
    self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(),
  File "C:\Program Files\Python38\lib\tarfile.py", line 2065, in extract
    self._extract_member(tarinfo, os.path.join(path, tarinfo.name),
  File "C:\Program Files\Python38\lib\tarfile.py", line 2139, in _extract_member
    self.makedir(tarinfo, targetpath)
  File "C:\Program Files\Python38\lib\tarfile.py", line 2168, in makedir
    os.mkdir(targetpath, 0o700)
NotADirectoryError: [WinError 267] Der Verzeichnisname ist ungültig: '.\\measurements_18_Oct_2023_07h_46m_33s\\with_x6mt_no_roadrunner\\R8_First_Measurements\\127.0.0.1:8004'
python 目录 解压

评论

1赞 Maurice Meyer 11/15/2023
:不是目录的有效字符,因此需要重命名目录。看看 Windows 和 Linux 目录名称中禁止使用哪些字符?

答: 暂无答案