問題描述:
在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)的,但是一直都顯示沒有這一行,奇怪了
'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:857662006
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子
'''
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
完全正確了。