Python rfind函数返回错误的/偏移量值,与文件中的位置相关。这是什么原因?

Python rfind函数返回错误的/偏移量值,与文件中的位置相关。这是什么原因?,python,xml,find,Python,Xml,Find,我试图在保存为纯文本(.log)的XML格式文件中查找某个字符串的最后一次出现。我正在使用以下代码尝试查找此项: with open('new 1.log','r') as f: find = f.read() pos = find.rfind('string i want to find') print(pos) 我遇到的一个有趣的问题是,返回的值似乎与所需字符串的实际开头偏移了一个量,这个量基于它在日志文件中出现的行。例如,如果它出现在第46行,则返回的值rfind

我试图在保存为纯文本(.log)的XML格式文件中查找某个字符串的最后一次出现。我正在使用以下代码尝试查找此项:

with open('new 1.log','r') as f:
    find = f.read()
    pos = find.rfind('string i want to find')
    print(pos)
我遇到的一个有趣的问题是,返回的值似乎与所需字符串的实际开头偏移了一个量,这个量基于它在日志文件中出现的行。例如,如果它出现在第46行,则返回的值
rfind
将过低46字节

这是什么原因造成的?这是
rfind
的常见问题还是XML格式的产物


谢谢

我想补充一点,我尝试用
f.write(find[:pos])
将文件写入自身,结果文件在正确的位置被切断。所以这似乎只是一个关于返回输出的问题,或者是一些我不理解的关于返回的问题。