```
with open('personnages.txt') as file:
my_file = file.read()
f = my_file.split('\n\n')
final_dict = {}

for row1 in f:
    data = row1.strip().split('\n')
    d = {}
    for row2 in data:
        key, value = row2.split(':')
        d[key] = value
        for row3 in d:
            name_dict = {}
            final_dict[d['nom']] = name_dict
            name_dict['genre'] = d['genre']
            name_dict['accessoires'] = d['accessoires']
            name_dict['cheveux'] = d['cheveux']
            name_dict['yeux'] = d['yeux']
            name_dict['nez'] = d['nez']
            name_dict['pilosite'] = d['pilosite']

```

If I print `final_dict` likeso:

```
with open('personnages.txt') as file:
my_file = file.read()
f = my_file.split('\n\n')
final_dict = {}

for row1 in f:
    data = row1.strip().split('\n')
    d = {}
    for row2 in data:
        key, value = row2.split(':')
        d[key] = value
        for row3 in d:
            name_dict = {}
            final_dict[d['nom']] = name_dict
    print(final_dict)

```

it gives

```
{'Alex': {}, 'Alfred': {}, 'Anita': {}, 'Anne': {}, 'Bernard': {}, 'Bill': {}, 'Charles': {}, 'Claire': {}, 'David': {}, 'Eric': {}, 'Frans': {}, 'George': {}, 'Herman': {}, 'Joe': {}, 'Maria': {}, 'Max': {}, 'Paul': {}, 'Peter': {}, 'Philip': {}, 'Richard': {}, 'Robert': {}, 'Sam': {}, 'Susan': {}, 'Tom': {}}

```

Each bracket {} contains a dictionary where the key is `genre`, `accessoires` and value whats on the right. I dont know why its not going beetween the {}.

I'm looking to have this in the output :

```
{'Alex': {'genre': 'homme', 'nez': 'petit', 'yeux': 'bruns'},
 'Alfred': {'genre': 'homme', 'nez': 'gros', 'yeux': 'bleus'},
 'Anita': {'genre': 'femme', 'nez': 'petit', 'yeux': 'bleus'},
 'Anne': {'genre': 'femme', 'nez': 'gros', 'yeux': 'bruns'},
 'Bernard': {'genre': 'homme', 'nez': 'gros', 'yeux': 'bruns'},
 'Bill': {'genre': 'homme', 'nez': 'gros', 'yeux': 'bruns'}}

```