Python的open函数问题

Python的open函数,打开文件为对象f,请问如何读取当前行呢?f.readline()函数是读取下一行

import re
#coding=utf-8
with open("D:/data.txt","r+") as f:
i=99
while(1):
if(re.match(r'.m.',f.readline())!=None):
print(f.readline())

运行结果及报错内容

img

我的解答思路和尝试过的方法 : 把if循环体的readline改成read,也是打印这一行
我想要达到的结果: 我希望文件指针指向符合正则表达式结果的这一行

img

你每次调用f.readline()都会读取一行文件内容,我把你最上面的代码改一下,你看是不是你要的效果

import re
#coding=utf-8
with open("D:/data.txt","r+") as f:
    i=99
    while(1):
        s = f.readline()  #读取一行文本
        if s == "":  #文件已读完
            break
        if(re.match(r'.m.', s)!=None):
            print(s)

补充:
from os import fdopen
import re
#coding=utf-8

with open("D:/data.txt","r+") as f:
i=9
while(i):
i-=1
x=re.match(r'.m.',f.readline())
if x!=None:
print(x.group(0))