gpt4 book ai didi

python - 如何从 Python 2.7 中的 tell() 计数中排除\n 和\r

转载 作者:太空宇宙 更新时间:2023-11-03 15:13:55 25 4
gpt4 key购买 nike

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

我的问题:

  1. 如何指示代码跳过计算行尾数?

  2. 无论行尾类型如何,如何做第一个问题(在文本文件仅使用 \n 或仅使用 \r 的情况下工作相同) ,或两者兼而有之)?

最佳答案

您正陷入困境。不要那样做:无论文件内容如何,​​要么使用“告诉”告诉您的数字,要么计算内存中的内容。

您将无法将文本中的位置(在内存中读取)与文本 文件中的物理位置相关联:文本文件不是为此而设计的。它们应该一次一行或全部读取:您的程序会消耗文本,让操作系统担心文件位置。

您可以以二进制模式打开文件,将其内容读取到内存中,并根据需要使用某种方法从这些内容中检索可读文本 - 使用适当的 class 可以使没那么乱。

考虑你已经遇到的问题,行尾可以是“\n”或“\r\n”,但仍然算作一个字符,现在,想象一下如果文件具有单个 utf-8 编码字符,需要多个字节进行编码。

即使在二进制文件中,知道绝对文件指针位置也只在少数情况下有用,通常情况下,最好先使用数据库引擎。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com