问题描述:
在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
完全正确了。
原文地址:https://blog.51cto.com/14246112/2456140
时间: 2024-10-25 23:57:36