c'è comunque la possibilità di creare un file all'interno di un file zip ricercabile in Python senza leggerlo in memoria?seek() un file all'interno di un file zip in Python senza passarlo alla memoria
ho provato la procedura ovvio, ma ottengo un errore dal momento che il file non è ricercabile:
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
Vedo, grazie. Ma da quello che sto cercando, è possibile con i file tar, corretto? – jbssm
Solo se il file tar non è compresso. Non appena si introduce la compressione gzip (DEFLATE), si ottiene lo stesso problema. –
Anche se succede al volo, posso usare un file tar compresso con gzip e cercare all'interno di esso, Python sembra che lo stia decomprimendo in memoria o da qualche parte in un disco tmp e il processo richiede molto tempo rispetto a un file non compresso - circa 1min vs 4 secondi all'esempio che sto provando. Grazie per tutto l'aiuto. – jbssm