Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:通过HTTP访问大型Tar文件_Python_Http_Tar - Fatal编程技术网

Python:通过HTTP访问大型Tar文件

Python:通过HTTP访问大型Tar文件,python,http,tar,Python,Http,Tar,我希望使用python通过HTTP访问非常大的tar文件(几GB),而无需下载整个tar文件。是否有任何库和/或最佳实践可以做到这一点 具体来说,我想列出一个大型tar文件的内容,并通过HTTP下载其中的一两个文档。整个tar文件的大小是许多千兆字节,但我在其中查找的文件通常只有几千字节。因此,我希望避免通过HTTP下载整个tar文件 我知道HTTP服务器支持范围,我假设它只能用于访问tar文件的一部分。但是,我没有看到任何库通过HTTP利用这一点。有什么想法吗?恐怕焦油不适合这种用途。您最好使

我希望使用python通过HTTP访问非常大的tar文件(几GB),而无需下载整个tar文件。是否有任何库和/或最佳实践可以做到这一点

具体来说,我想列出一个大型tar文件的内容,并通过HTTP下载其中的一两个文档。整个tar文件的大小是许多千兆字节,但我在其中查找的文件通常只有几千字节。因此,我希望避免通过HTTP下载整个tar文件


我知道HTTP服务器支持
范围
,我假设它只能用于访问tar文件的一部分。但是,我没有看到任何库通过HTTP利用这一点。有什么想法吗?

恐怕焦油不适合这种用途。您最好使用zip、7z或其他提供更好索引功能的工具。我正在为完全相同的场景研究一个解决方案,发现基于FUSE的一些有希望的方法(不是使用tar,而是使用zip或其他更现代的格式),FUSE应该提供对文件的范围访问。理论上,它可以在AWSS3上工作,但在我的例子中失败了。如果您有时间通过Apache、nginx或您管理的其他web服务器提供该文件,那么您可能会获得比我更好的结果。应该可以使用
httpfs
(但不幸的是,在我的用例中,这不起作用)
tar
存档文件(如果它们没有使用
gzip
进行压缩,从而成为
.tar.gz
AKA
.tgz
文件)可以随机访问,这应该也可以通过支持范围功能的HTTP实现。