PyYAML : Contrôle de la commande d'éléments appelés par yaml.load()

J'ai un fichier de configuration yaml qui crée des enregistrements en db:

setting1:
  name: [item,item]
  name1: text
anothersetting2:
  name: [item,item]
  sub_setting:
      name :[item,item]

lorsque je mets à jour ce fichier avec setting3 et de régénérer les dossiers en db par:

import yaml
fh = open('setting.txt', 'r')
setting_list = yaml.load(fh)
for i in setting_list:
    add_to_db[i]

il est essentiel que l'ordre de leur paramètres (numéros d'identification en db) restent les mêmes à chaque fois que la messagerie instantanée de l'ajout à la db... et setting3 obtient juste ajouté à la yaml.load()'fin, ainsi que le numéro d'identification ne pas confondre tous les dossiers qui sont déjà dans la db ...
En ce moment à chaque fois que j'ajoute un autre paramètre et appel yaml.load() les documents chargés dans un ordre différent, qui résultats dans les différents ids. Je serais heureux de toutes les idées 😉

EDIT:
J'ai suivi abarnert conseils et a pris cette gist https://gist.github.com/844388

Fonctionne comme prévu merci !

Tout d'abord, est-ce PyYAML, ou quelque chose d'autre? Il n'est pas intégré dans le yaml module, et au moins deux PyPI paquets que vous donner un yaml module. En général, chaque fois que vous utilisez un module tiers, vous devez vous dire où vous l'avez obtenu.
Quel que soit le module que vous utilisez, vous devez raccorder la façon dont il convertit la cartographie des noeuds de Python, de sorte qu'il utilise un collection.OrderedDict au lieu d'un dict. Avec d'autres modules d'ailleurs PyYAML, je n'ai aucune idée. Avec PyYAML, c'est certainement possible, mais compliqué si vous êtes collant à haut niveau de commodité méthodes. D'ailleurs, quelqu'un a mentionné qu'il était plus facile de monkeypatch plutôt que d'utiliser la destinée des crochets.
Im en utilisant PyYAML comme le titre de cette question suggère ... -> PyYAML : Contrôle de la commande d'éléments appelés par yaml.load(). Merci pour vos conseils!!!!

OriginalL'auteur zzart | 2012-11-08