Google drive api 如何在Google Colab中提取非常大的文件

Google drive api 如何在Google Colab中提取非常大的文件,google-drive-api,google-colaboratory,Google Drive Api,Google Colaboratory,我正在尝试提取一个14.6 GB 7z文件() 我把它下载并保存在我的谷歌硬盘里。我将驱动器装载到Google Colab,然后将当前目录更改为文件所在的目录:os.chdir('/content/drive/my drive/../') 当我试图解压文件时!p7zip-k-dstackoverflow.com Posts.7z,它使用当前实例的硬盘空间,在此过程中,它耗尽了所有可用的分配硬盘空间,因此解压突然终止 有没有一种方法可以在不使用实例的HDD空间的情况下提取文件,或者分块进行提取,这

我正在尝试提取一个14.6 GB 7z文件()

我把它下载并保存在我的谷歌硬盘里。我将驱动器装载到Google Colab,然后将当前目录更改为文件所在的目录:
os.chdir('/content/drive/my drive/../')

当我试图解压文件时
!p7zip-k-dstackoverflow.com Posts.7z
,它使用当前实例的硬盘空间,在此过程中,它耗尽了所有可用的分配硬盘空间,因此解压突然终止

有没有一种方法可以在不使用实例的HDD空间的情况下提取文件,或者分块进行提取,这样提取就成功了


PS:我相信,当解压文件大小为~100 GB时,您可以尝试使用libarchive按块读取数据,而无需先解压


这是一个

嗯,你能提供更多信息吗?在7z中只有一个压缩文件,我确实希望解压缩它。这是一个XML,我希望稍后使用python处理它。。。当然不会遇到空间不足的错误。谢谢更新。我有一个疑问;我一直在阅读这些xml,比如
tree=ET.parse('data/english.stackexchange.com/Users.xml')
root=tree.getroot()
,然后迭代根目录中的子目录(
根目录中的子目录:user=child.attrib
)。你知道我能不能做类似的事情吗?从您编写的代码来看,我似乎可以分块阅读。。。但是我希望把整个内容提取出来,并将其作为XML本身来阅读。您需要从7z更改为gz。那你就可以这么做了。您可以逐块读取7z,然后压缩到新的gz。创建完gz后,gzip.open打开它,并发送到iterparse。