尝试读取tarball时,FileNotFoundError具有绝对路径

时间:2018-11-04 08:42:11

标签: python tarfile

我试图从tar文件中读取,但是尽管指定了绝对路径 我收到 FileNotFoundError

这是代码的相关部分:

1 from pathlib import Path
2
3 testPath = Path("G:/test.tar")
4 tar = tarfile.open(testPath, "r")
5 ...

,该文件肯定存在。 enter image description here

但是我得到的是(从第4行开始):

FileNotFoundError: [Errno 2] No such file or directory: 'G:\\test.tar'

(我正在使用PyCharm btw。) 我想念什么?如果需要,我会很乐意提供其他信息。

3 个答案:

答案 0 :(得分:0)

检查以确保您的脚本/文件位于正确的目录中

from pathlib import Path
import tarfile

testPath = Path("Songs.txt.tar")
tar = tarfile.open(testPath, "r")
print(tar) # Returns <tarfile.TarFile object at 0x100d44f98>

print(tarfile.is_tarfile("Songs.txt.tar")) # Returns True if its tar file

答案 1 :(得分:0)

由于在第3行中,您正在使用以下行生成文件路径:

testPath = Path("G:/test.tar")

testPath变量的类型为pathlib.WindowsPath。 而在下一个tarfile中,open需要字符串格式的文件路径。

请尝试以下操作:

testPath = Path("G:/test.tar")
tar = tarfile.open(str(testPath), "r")

或:

testPath = str(Path("G:/test.tar"))
tar = tarfile.open(testPath, "r")

答案 2 :(得分:0)

解决方案:

最近一次PC重置后,我忘记再次将资源管理器视图更改为“始终显示文件类型扩展名”,这导致我不认识它应该是

test.tar.gz

,因为该文件中除了该文件外,仅存在其他文件夹。 因此,调整我的testPath可以解决此问题。