gpt4 book ai didi

Python tarfile extractall 除了匹配字符串的文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:30 24 4
gpt4 key购买 nike

我有一个遗留脚本,它通过 python 脚本获取 boost 库并提取然后构建它们。

在 Windows 上,提取步骤失败,因为 boost 存档中的某些文件的路径太长。例如。

IOError: [Errno 2] No such file or directory: 'C:\\<my_path>\\boost_1_57_0\\libs\\geometry\\doc\\html\\geometry\\reference\\spatial_indexes\\boost__geometry__index__rtree\\rtree_parameters_type_const____indexable_getter_const____value_equal_const____allocator_type_const___.html'

有没有办法简单地制作 tarfile lib extractall 但忽略所有带有 .html 扩展名的文件?

或者,有没有办法允许路径超过 Windows 限制 266?

最佳答案

您可以循环遍历 tar 中的所有文件并仅提取那些不以“.html”结尾的文件
导入操作系统 导入 tar 文件

def custom_files(members):
for tarinfo in members:
if os.path.splitext(tarinfo.name)[1] != ".html":
yield tarinfo

tar = tarfile.open("sample.tar.gz")
tar.extractall(members=custom_files(tar))
tar.close()

找到了示例代码和有关模块的信息 here

要克服文件名大小的限制,请参阅 Microsoft 文档]( https://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx )

关于Python tarfile extractall 除了匹配字符串的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37327398/

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