История изменений
Исправление Marvel, (текущая версия) :
Два варианта на выбор: f(n) и g()
import json
import re
def f(n):
'n - число строк с конца'
with open('test.txt', 'r') as f:
return json.loads(' '.join(f.readlines()[:-n]))
def g():
with open('test.txt', 'r') as f:
return json.loads('[' + re.sub('}\s*{', '},{', f.read()) + ']')[-1]
print(f(8))
print(g())
Здесь не учитывается, что внутри json-строк могут быть фигурные скобки или символы начала строки, но, мне кажется, тебе это не важно. Если важно, напиши, я исправлю.
PS: Для корректной работы я заменил кавычки «» на " в файле. Не совсем понятно - это особенность разметки ЛОРа или твоего файла.
Исправление Marvel, :
Два варианта на выбор: f(n) и g()
import json
import re
def f(n):
'n - число строк с конца'
with open('test.txt', 'r') as f:
return json.loads(' '.join(f.readlines()[:-n]))
def g():
with open('test.txt', 'r') as f:
return json.loads('[' + re.sub('}\s*{', '},{', f.read()) + ']')[-1]
print(f(8))
print(g())
Здесь не учитывается, что внутри json-строк могут быть фигурные скобки или символы начала строки, но, мне кажется, тебе это не важно. Если важно, напиши, я исправлю.
Исправление Marvel, :
Два варианта на выбор: f(n) и g()
import json
import re
def f(n):
'n - число строк с конца'
with open('test.txt', 'r') as f:
return json.loads(' '.join(f.readlines()[:-n]))
def g():
with open('test.txt', 'r') as f:
return json.loads('[' + re.sub('}\s*{', '},{', f.read()) + ']')[-1]
print(f(8))
print(g())
Здесь не учитывается, что внутри json-строк могут быть фигурные скобки или символы начала строки, но, мне кажется, тебе это не важно.
Исходная версия Marvel, :
Два варианта на выбор: f(n) и g()
import json
import re
def f(n):
'n - число строк с конца'
with open('test.txt', 'r') as f:
return json.loads(' '.join(f.readlines()[:-n]))
def g():
with open('test.txt', 'r') as f:
return json.loads('[' + re.sub('}\s*{', '},{', f.read()) + ']')[-1]
print(f(8))
print(g())