Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134446
  • 博文数量: 73
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 760
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-29 14:07
文章分类
文章存档

2011年(2)

2010年(4)

2009年(40)

2008年(27)

我的朋友

分类: Python/Ruby

2009-11-11 16:37:20

一直用python读文件都是文本文件。用的方法是:

lines=open('ft.txt')

但是前两天读一个几百兆的大文件的时候,遇到了奇怪的问题,觉得是内容没有读完。定位最后读到的行,用emeditor打开,发现有一个怪字符“”。编码是“\x001a”,一查,原来是文件结束符号。
一直郁闷,奇怪为啥文本文件里面有文件结束符,试了好多办法,都不行,最后经limodou指点,原来这种情况要当成二进制文件来读。

lines=open('ft.txt','rb')

文件内容如下:

abcdefg

两种不同情况的结果如下:

>>> f=open('ft.txt')
>>>
f.read()
'abc'
>>>
f=open('ft.txt','rb')
>>>
f.read()
'abc\x1adefg'
阅读(762) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~