import sys import re import json def readfile(filename): read_data = None with open(filename, 'r') as f: read_data = f.read() return read_data def collect_ability_upgrades(s): d = {} for k, v in s: if k not in d: d[k] = [] d[k].append(v) return d def to_json(data): #все слова в кавычки data = re.sub(r'([a-zA-Z_]+)', r'"\1"', data) data = re.sub(r'(\d+)', r'\1,', data) data = re.sub(r'({)', r':\1', data) data = re.sub(r'(})', r'\1,', data) data = data.replace(" ", "") data = re.sub(r'\n', r"", data) data = re.sub(r'(,)\r(\})', r'\2', data) data = "{" + data + "}" f = open('myfile','w') #eto debug f.write(data) f.close() data = json.loads(data, object_pairs_hook=collect_ability_upgrades) return data if __name__ == "__main__": all_file = readfile(sys.argv[1]) start = all_file.index('teams {') finish = all_file.index('tower_status') my_json = all_file[start:finish] my_json = to_json(my_json) print(my_json)