J'ai un script qui ressemble à ceci:
export foo=/tmp/foo
export bar=/tmp/bar
Chaque fois que je construis, je lance «source init_env» (où init_env est le script ci-dessus) pour configurer certaines variables.
Pour accomplir la même chose en Python, j'avais ce code en cours d'exécution,
reg = re.compile('export (?P<name>\w+)(\=(?P<value>.+))*')
for line in open(file):
m = reg.match(line)
if m:
name = m.group('name')
value = ''
if m.group('value'):
value = m.group('value')
os.putenv(name, value)
Mais ensuite, quelqu'un a décidé que ce serait bien d'ajouter une ligne comme celle-ci au init_env
fichier:
export PATH="/foo/bar:/bar/foo:$PATH"
De toute évidence, mon script Python s'est effondré. Je pourrais modifier le script Python pour gérer cette ligne, mais cela se cassera plus tard lorsque quelqu'un proposera une nouvelle fonctionnalité à utiliser dans le init_env
fichier.
La question est de savoir s'il existe un moyen simple d'exécuter une commande Bash et de la laisser modifier mon os.environ
?