Il y avait quelques pièges (personnellement) lors de la lecture d'un fichier texte compressé au gzip, je les ai donc résumés.
Le mode de lecture de fichier par défaut est binaire, donc le code ci-dessous lira chaque ligne en binaire.
import gzip
with gzip.open("test.txt.gz", "r") as fi:
for line in fi:
print(line)
Pour le lire sous forme de texte, lisez-le en mode "rt" lorsque le fichier est ouvert.
import gzip
with gzip.open("test.txt.gz", "rt") as fi:
for line in fi:
print(line)
Même si vous spécifiez l'encodage par défaut, il sera ignoré, vous devez donc spécifier à nouveau l'encodage lors de l'ouverture du fichier. En d'autres termes, à la fin, il peut être lu comme un fichier texte avec le code suivant.
import gzip
with gzip.open("test.txt.gz", "rt", "utf_8") as fi:
for line in fi:
print(line)
C'est peut-être la même chose avec d'autres fichiers compressés, mais je ne l'ai pas essayé.
Recommended Posts