Décompresser les fichiers bz2
Je tiens à décompresser les fichiers dans des répertoires différents, qui sont dans des voies différentes.
Et les codes ci-dessous et l'erreur n'est pas valide flux de données. Merci de m'aider. Je vous remercie beaucoup.
import sys
import os
import bz2
from bz2 import decompress
path = "Dir"
for(dirpath,dirnames,files)in os.walk(path):
for file in files:
filepath = os.path.join(dirpath,filename)
newfile = bz2.decompress(file)
newfilepath = os.path.join(dirpath,newfile)
source d'informationauteur MY_1129
Vous devez vous connecter pour publier un commentaire.
bz2.compresser/décompresser travailler avec des données binaires:
En bref - vous besoin de traiter le contenu du fichier manuellement. Dans le cas où vous avez de très gros fichiers, vous devriez préférer à l'aide de
bz2.BZ2Decompressor
àbz2.decompress
car celle-ci exige que vous stockez l'intégralité du fichier dans un tableau d'octets.Vous pouvez également utiliser
bz2.BZ2File
pour que ce soit encore plus simple:bz2.decompress
prend comprimé données et gonfle. Vous passez un nom de fichier, pas les données dans le fichier!Faire ceci à la place:
Cela devrait fonctionner