在使用 readline() 之后,我想在一个简单的文本文件(只有几行)上跟踪文件指针。我观察到 tell() 函数也计算行尾。

我的问题:

  • 如何指示代码跳过计数行尾?
  • 无论行尾类型如何(在文本文件仅使用 \n 或仅使用 \r 或两者的情况下工作相同)如何做第一个问题?
  • 最佳答案

    telltell 。它计算从文件开始到光标的字节数。 \n\r 是字节,所以它们被计算在内。如果要计算字节数,但不计算某些字符,则必须手动进行:

    data_read = … # data you have already read
    len([b for b in data_read if b not in '\r\n'])
    

    坏消息是,这样做比只看 tell 更烦人。好消息是它回答了您的两个问题。

    或者,我想你可以做
    yourfile.tell() - data_read.count('\r') - data_read.count('\n')
    

    关于python - 如何从 Python 2.7 中的 tell() 计数中排除\n 和\r,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23199042/

    10-12 18:18