2
我試圖從包含在Zip存檔中的數據文件訪問二進制流(通過ZipExtFile對象)。若要從歸檔文本文件對象不斷的讀取,這將是相當簡單:在Zip存檔中打開二進制文件爲ZipExtFile
with ziparchive as ZipFile("myziparchive.zip", 'r'):
with txtfile as ziparchive.open("mybigtextfile.txt", 'r'):
for line in txtfile:
....
理想的字節流相當於將是這樣的:
with ziparchive as ZipFile("myziparchive.zip", 'r'):
with binfile as ziparchive.open("mybigbinary.bin", 'rb'):
while notEOF
binchunk = binfile.read(MYCHUNKSIZE)
....
不幸的是,ZipFile.open
似乎並沒有支持將二進制數據讀取到ZipExtFile對象。從docs:
模式參數,如果包括的話,必須是下列之一: 'R' (缺省值), 'U',或 '的rU'。
鑑於此限制,如何最好從檔案中直接讀取二進制文件?由於未壓縮的文件非常大,我想避免先提取它。
嗨!我基本上有同樣的問題,因爲我試圖將zip文件中的excel文件傳遞給openpyxl load_workbook函數。然而這個函數只接受二進制文件對象(和文件路徑)。我無法找到如何解決這個問題的描述。你有沒有設法解決這個問題? – Fredrik