[Python][小技巧]打印出來的文本文檔中間有空格


問題描述:

在file.txt中存了內容如下

AAAAAA

BBBBBB

CCCCCC

然后采用python顯示,發現顯示出來的是這樣的

A A A A A A

B B B B B B

C C C C C C

 

Why?

 

Code如下

本意是想在文本文檔中尋找某一行(CCC)的,但是一直都顯示沒有這一行,奇怪了

import io
import os

search_for_this_line = 'CCC' inf_file = io.open("C://file.txt", mode = 'r+') lines = inf_file.readlines() index_temp = 0 for line in lines: index_temp = index_temp + 1 print line if search_for_this_line in line: print "FOUND IT !!!" break inf_file.close()

 

后來發現,file.txt其實是unicode的utf-16(16bit for one character)的格式,而python默認open為ANSI(single byte for one character)的格式,所以就會有上面這個問題,將開始open那一行稍微修改,將encoding的方式傳進去

inf_file = io.open("C://file.txt", mode = 'r+',encoding = 'utf-16')

就可以找到CCC這一行啦

打印出來也是

AAAAAA

BBBBBB

CCCCCC

完全正確了。

 

補充內容

關於unicode ansi等概念,在談談Unicode編碼,簡要解釋UCS、UTF、BMP、BOM等名詞這篇博文里面作者有講的非常詳細,不再贅述。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM