recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment lire un fichier texte en mode texte sans décompresser grâce au module `zipfile` ?

La version de Python que j'utilise est 3.5.2,尝试用zipfile模块的zipfile.ZipFile.open方法打开一个压缩包中的文本文件时,即使使用了文档中要求的rUparameter, et lorsqu'elle est ouverte, elle est toujours ouverte au format de données binaires, ce qui est déroutant.

Code :

>>> import zipfile
>>> zf = zipfile.ZipFile('/Users/chiqingjun/Downloads/top-1m.csv.zip')
>>> zf.namelist()
['top-1m.csv']
>>> f = zf.open(zf.namelist()[0], mode='rU')
>>> f
<zipfile.ZipExtFile name='top-1m.csv' mode='rU' compress_type=deflate>
>>> f.readline()
b'1,google.com\n'
# 仍然是二进制数据

Documentation officielle (version 3.5.2) :

给我你的怀抱给我你的怀抱2769 Il y a quelques jours1001

répondre à tous(2)je répondrai

  • 巴扎黑

    巴扎黑2017-06-22 11:53:42

    En fait, la sortie binaire finale est liée à zipfile无关, 是和py3.5 Vous pouvez décoder le résultat de la sortie pour obtenir le type de caractère

    .
    content = f.readline()
    print(content.decode('utf8'))

    répondre
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-22 11:53:42

    La documentation l'a dit, rU通用换行符, et ce mode sera supprimé dans la version 3.6.

    Il est prévu que le contenu en octets du fichier compressé soit lu en binaire. La manière de transcoder ultérieurement est décidée par le programmeur.

    répondre
    0
  • Annulerrépondre