Comment lire un fichier texte en mode texte sans décompresser grâce au module `zipfile` ?
给我你的怀抱
给我你的怀抱 2017-06-22 11:51:42
0
2
1009

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) :

给我你的怀抱
给我你的怀抱

répondre à tous(2)
巴扎黑

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'))
女神的闺蜜爱上我

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal