2010-08-10 4 views
0

Y a-t-il un moyen facile de renommer une section dans un fichier de configuration en utilisant ConfigParser en python? Je préférerais ne pas devoir supprimer la section et la recréer, mais c'est ma seule réponse en ce moment.Renommer la section config.ini en utilisant ConfigParser en python

+0

En relation: http://stackoverflow.com/questions/15069127/python-configparser-module-rename-a-section L'autre n'est pas * tout à fait * un doublon, puisqu'il ne donne pas la suppression/recréer une restriction, mais pour tous ceux qui atterrissent ici, il explique comment l'accomplir de cette façon – jpmc26

Répondre

0

Non. Le ConfigParser intégré stocke les sections sous la forme _sections, qui est un dict. Puisque c'est python, vous pouvez accéder à cette variable pour en faire une copie facile. (config._sections[new_name] = config._sections[old_name]; config._sections.pop(old_name)

Mais ConfigParser peut changer à une date ultérieure et cela briserait votre mise en œuvre.

Par conséquent, je ne recommande pas le faire, vous pourriez aussi sous-classe ConfigParser et mettre en œuvre un delete_section ou modifier les options de façon sont

+0

Merci d'avoir supprimé les sections que je voulais renommer et ensuite les recréer. Maintenant, mon problème est qu'ils deviennent totalement irrecevables. Comment l'analyseur ajoute-t-il de nouvelles sections? Est-ce au début du fichier ou à la fin? – Falmarri

+0

étant donné que le type de base est dict pour la variable _sections, vous ne pouvez pas obtenir une commande garantie pour les éléments d'une section. Vous auriez besoin de surcharger beaucoup de la classe ConfigParser. Certaines alternatives sont discutées ici http://wiki.python.org/moin/ConfigParserShootout – iondiode

Questions connexes