czy mimo to plik w pliku zip jest dostępny w Pythonie bez czytania go w pamięci?seek() plik w pliku zip w Pythonie bez przekazywania go do pamięci
Próbowałem oczywiste procedury, ale pojawia się błąd, ponieważ nie jest możliwy do przeszukania pliku:
In [74]: inputZipFile = zipfile.ZipFile("linear_g_LAN2A_F_3keV_1MeV_30_small.zip", 'r')
In [76]: inputCSVFile = inputZipFile.open(inputZipFile.namelist()[0], 'r')
In [77]: inputCSVFile
Out[77]: <zipfile.ZipExtFile at 0x102f5fad0>
In [78]: inputCSVFile.se
inputCSVFile.seek inputCSVFile.seekable
In [78]: inputCSVFile.seek(0)
---------------------------------------------------------------------------
UnsupportedOperation Traceback (most recent call last)
<ipython-input-78-f1f9795b3d55> in <module>()
----> 1 inputCSVFile.seek(0)
UnsupportedOperation: seek
Widzę, dziękuję. Ale z tego, czego szukam, jest to możliwe z plikami tar, prawda? – jbssm
Tylko jeśli plik tar jest nieskompresowany. Jak tylko wrzucisz kompresję gzip (DEFLATE), pojawi się ten sam problem. –
Mimo że dzieje się to w locie, mogę użyć skompresowanego pliku gzip tar i szukać w nim, Python zdaje się dekompresować go w pamięci lub gdzieś na dysku tmp, a proces zajmuje dużo czasu w porównaniu do nieskompresowanego pliku - około 1min vs 4 sekundy do przykładu, który próbuję. Dziękuję za całą pomoc. – jbssm