gpt4 book ai didi

python - 如何使用 Python 检查文件是否存在于 tar 存档中?

转载 作者:行者123 更新时间:2023-12-02 01:21:14 30 4
gpt4 key购买 nike

在将其作为类文件对象获取之前,我想使用 Python 验证 tar 存档中给定文件的存在。我用 isreg() 试过了,但可能我做错了什么。

如何使用 Python 检查文件是否存在于 tar 存档中?

我试过了

import tarfile


tar = tarfile.open("sample.tar", "w")
tar.add("test1.txt")
tar.add("test2.txt")
tar.add("test3.py")
tar.close()

tar = tarfile.open("sample.tar", "r")
tai = tar.tarinfo(name="test3.py")
print(tai.isreg())
print(tai.size())
tar.close()

可能 tai 是错误的。事实上 tai.size() 总是 0。

最佳答案

如果你真的需要检查,那么你可以使用 getnames 来测试成员资格。方法和 in 运算符:

>>> import tarfile
>>> tar = tarfile.open("sample.tar", "w")
>>> "sample.tar" in tar.getnames()
True

但是,我认为在 Python 中(以及一般处理文件系统),捕获异常是首选。最好尝试读取并捕获异常,因为在检查文件是否存在和稍后读取之间总是会发生事情。

>>> try:
... tar.getmember('contents.txt')
... except KeyError:
... pass
...

关于python - 如何使用 Python 检查文件是否存在于 tar 存档中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4180384/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com