9
zipファイル内のファイルをPythonでシーク可能なものにしてメモリに読み込ませないでください。Pythonでzipファイル内のファイルをメモリに渡さずに
私は明白な手順を試してみましたが、ファイルがシークできないので、私はエラーを取得する:
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
ありがとうございます。しかし、私が探しているものから、tarファイルで可能でしょうか? – jbssm
tarファイルが解凍されている場合のみ。 gzip(DEFLATE)圧縮をスローすると、同じ問題が発生します。 –
gzipで圧縮されたtarファイルを使用してその中を探すことができます。Pythonはメモリ内やtmpディスク内のどこかで解凍しているようですが、圧縮されていないファイルに比べて時間がかかります私が試している例に1分対4秒。すべての助けをありがとう。 – jbssm