python - 使用`zipfile`模塊在不解壓縮的情況下如何使用text模式讀取文本文件?
問(wèn)題描述
我使用的Python版本為3.5.2,嘗試用zipfile模塊的zipfile.ZipFile.open方法打開(kāi)一個(gè)壓縮包中的文本文件時(shí),即使使用了文檔中要求的rU參數(shù),打開(kāi)時(shí)仍然是以二進(jìn)制數(shù)據(jù)格式打開(kāi)的,百思不得其解。
代碼:
>>> 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.comn’# 仍然是二進(jìn)制數(shù)據(jù)
官方文檔(3.5.2版本):
問(wèn)題解答
回答1:其實(shí)最后輸出的二進(jìn)制, 和zipfile無(wú)關(guān), 是和py3.5有關(guān), 你可以在輸出的結(jié)果解碼, 就能得到字符類(lèi)型了
content = f.readline()print(content.decode(’utf8’))回答2:
文檔已經(jīng)說(shuō)了呀,rU是 通用換行符,并且將在3.6 移除此模式。
壓縮文件以二進(jìn)制讀取字節(jié)內(nèi)容是應(yīng)該的,后面如何轉(zhuǎn)碼由程序員決定。
相關(guān)文章:
1. html5 - css3scale和rotate同時(shí)使用轉(zhuǎn)換成matrix寫(xiě)法該如何轉(zhuǎn)換?2. win10 python3.5 matplotlib使用報(bào)錯(cuò)3. php多任務(wù)倒計(jì)時(shí)求助4. css - 如何把一個(gè)視圖放在左浮動(dòng)定位的視圖的上面?5. javascript - jquery怎么讓a標(biāo)簽跳轉(zhuǎn)后保持tab的樣式6. MySQL的聯(lián)合查詢[union]有什么實(shí)際的用處7. javascript - vue組件的重復(fù)調(diào)用8. javascript - 小demo:請(qǐng)教怎么做出類(lèi)似于水滴不斷擴(kuò)張的效果?9. python的正則怎么同時(shí)匹配兩個(gè)不同結(jié)果?10. javascript - axios請(qǐng)求回來(lái)的數(shù)據(jù)組件無(wú)法進(jìn)行綁定渲染
