Bonjour,

J'essaie d'extraire un fichier volumineux de 2Go d'une archive tar.gz avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.