Problème extraction fichier
Bonjour,
J'essaie d'extraire un fichier volumineux de 2Go d'une archive tar.gz avec le code suivant :
Code:
1 2 3 4 5 6 7 8 9
|
tar = tarfile.open(extractData.tar.gz, 'r')
member = str(tar.getmembers()[0])
daily = member[34:69] + "/"
extractf = tar.extractfile(os.path.join("mnt/", "snapshots/",daily, "data/", "monfichier"))
archive = open(os.path.join(finalPathData,'monfichier'), 'wb')
archive.write(extractf.read())
archive.close()
tar.close() |
j'ai le message suivant lors de l'extraction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Traceback (most recent call last):
File "C:\Users\tannef\Documents\extract_local.py", line 71, in <module>
hdf5.write(extractf2.read())
File "C:\Python27\lib\tarfile.py", line 822, in read
buf += self.fileobj.read()
File "C:\Python27\lib\tarfile.py", line 742, in read
return self.readnormal(size)
File "C:\Python27\lib\tarfile.py", line 751, in readnormal
return self.fileobj.read(size)
File "C:\Python27\lib\gzip.py", line 268, in read
self._read(readsize)
File "C:\Python27\lib\gzip.py", line 320, in _read
self._add_read_data( uncompress )
File "C:\Python27\lib\gzip.py", line 338, in _add_read_data
self.extrabuf = self.extrabuf[offset:] + data
MemoryError |
J'ai le même code pour un fichier de 256 Mo et cela fonctionne très bien.
Je suis sur une VM win 7 32bits avec 3Go de RAM.
Si quelqu'un a une idée je suis preneur.