代码之家  ›  专栏  ›  技术社区  ›  Jake

python read()返回的数据似乎比读取的少

  •  2
  • Jake  · 技术社区  · 14 年前

    有人能告诉我为什么数据的长度远小于文件结尾的位置吗?我本以为这些是相等的。

    >>> target = open('target.jpg')
    >>> print target.tell()
    0
    >>> data = target.read()
    >>> print target.tell()
    40962
    >>> print len(data)
    52
    
    1 回复  |  直到 14 年前
        1
  •  6
  •   hughdbrown    14 年前

    以二进制模式打开文件:

    target = open('target.jpg','rb')
    

    对于一个未以二进制方式打开的文件,我不信任tell()。


    后来:实际上,在回顾这些评论时,我应该说我不相信 read 以文本形式打开的二进制文件。