Можно cэкономить и
1) читать только до правой границы диапазона, например, до строки с индексом 6 (считая от нуля)
2) записывать только строки, входящие в диапазон (например, от 3 до 6, начиная с 0)
with open (fname, 'r', encoding='utf') as f:
res=[]
c=0
for i in range (0,7) : #до правой границы, не включая 7
r=f.readline()
if c in range (3,7): # от левой границы, включая 3, до правой, не включая 7
res+=[r]
c+=1