Verwendung von Variablen bereits definiert im ConfigParser
Ich bin mit der ConfigParser von Python
config.ini ist
[general]
name: my_name
base_dir: /home/myhome/exp
exe_dir: ${base_dir}/bin
Hier möchte ich exp_dir
wird /home/myhome/exp/bin
nicht ${base_dir}/bin
.
Bedeutet es ${base_dir}
ersetzt werden würde, um /home/myhome/exp automatically
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ConfigParser interpolation
Ihrem Beispiel wird zu:
Statt "${foo}", schreiben Sie "%(foo)s". (Siehe http://docs.python.org/library/configparser.html und suchen Sie nach "interpolation". Dies funktioniert sowohl für eine ordentliche ConfigParser oder eine SafeConfigParser.)
s
nach der%(foo)
fuhr mich verrückt. Manchmal hast du Blick auf die Quelle, den ersten, bevor Sie begreifen, dass es in den docs, auch! 😉In Python 3 können Sie
${base_dir}/bin
, und die erweiterte interpolation ermöglicht die Verwendung von Variablen aus anderen Abschnitten. Beispiel: