本文實例講述了Python遍歷zip文件輸出名稱時出現(xiàn)亂碼問題的解決方法。分享給大家供大家參考。具體如下:
windows中使用python2.7遍歷zip文件之后輸出文件名等信息,console打印的中文及一些標點出現(xiàn)亂碼。查了一下網上說的windows的編碼為cp936,print()函數交給系統(tǒng)處理打印,所以要提前編碼成windows能夠識別的編碼。
這種print的亂碼也會出現(xiàn)在形如print(mylist)中(mylist是python的list類型變量,print(mylist[2])則不會亂碼,奇怪)
代碼如下:(.py文件中在文件頭先加 # -*- coding: UTF-8 –*-)
import zipfiledef listzipfilesinfo(path): z=zipfile.ZipFile(path,'r') try: for filename in z.namelist(): bytes=z.read(filename) print('File:%s Size:%s'%(unicode(filename, 'cp936').decode('utf-8'),len(bytes))) finally: z.close()
注:decode可以去掉
希望本文所述對大家的Python程序設計有所幫助。
新聞熱點
疑難解答