Python read()似乎返回的数据少于读取的数据

Jak*_*ake 2 python file-io

谁能告诉我为什么数据长度远小于文件末尾的位置?我原以为这些是平等的.

>>> target = open('target.jpg')
>>> print target.tell()
0
>>> data = target.read()
>>> print target.tell()
40962
>>> print len(data)
52
Run Code Online (Sandbox Code Playgroud)

hug*_*own 6

以二进制模式打开文件:

target = open('target.jpg','rb')
Run Code Online (Sandbox Code Playgroud)

我不相信tell()对未打开为二进制文件的文件.


后来:实际上,在审核评论时,我应该说我不会相信一个read以文本形式打开的二进制文件.

  • @Justin Peel:当且仅当你在Windows上运行时,它真正发生在第一个Ctrl-Z(\ x1A)**字节**上停止. (3认同)