2017-07-16 42 views
0

我想知道是否有任何方法可以下載.rar或.zip文件的一部分而無需下載整個文件?有一個包含文件A,B,C和D的zip文件。我只需要A.我可以以某種方式使用zipfile模塊,以便我只能下載1個文件?是否可以使用python zipfile庫下載ZIP文件的一部分

我試圖下面的代碼:

r = c.get(file) 
    z = ZipFile.ZipFile(BytesIO(r.content)) 
    for file1 in z.namelist(): 
     if 'time' not in file1: 
      print("hi") 
      z.extractall(file1,download_path + filename) 

此代碼下載整個壓縮文件,只提取特定之一。我可以以某種方式只下載我需要的文件。 還有類似的問題here但它只顯示在Linux中通過命令行。這個問題劑量解決了如何使用python liabraries完成它。

+0

可能重複的[是否可以下載一個ZIP檔案(例如一個文件)的一部分?](https://stackoverflow.com/questions/8543214/is-it-possible-to-download-just-一部分的zip壓縮文件,例如一個文件) – Juggernaut

+0

@Juggernaut nope。這是在unix環境中。我問是否可以使用Python代碼。在這個問題上沒有提到任何類型的東西。我已經檢查過這個問題。並問我的 – PriyalChaudhari

回答

1

@Juggernaut在評論中提到的question實際上非常有幫助,因爲它指出你在解決方案的方向。

您需要創建一個Bytes.IO的替代品,它將必要的信息返回給ZipFile。您需要獲取文件的長度,然後獲取ZipFile要求的任何部分。

這些文件有多大?難道真的值得嗎?

+0

是的,我想忽略的文件是每個1.5 GB左右。並且有這樣的10個文件 – PriyalChaudhari

+0

我懷疑,如果你昨天開始下載它們,你現在已經在你的本地計算機上安裝了它們,整個解壓縮。 – zmbq

+0

zmbq你能不能解釋一下如何做到這一點。我無法弄清楚 – PriyalChaudhari

相關問題