Bonjour,
J'essaie d'extraire un fichier volumineux de 2Go d'une archive tar.gz avec le code suivant :
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 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 même code pour un fichier de 256 Mo et cela fonctionne très bien.
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
Je suis sur une VM win 7 32bits avec 3Go de RAM.
Si quelqu'un a une idée je suis preneur.
Partager