Bash 'source' in Python emulieren
Ich habe ein Skript, das ungefähr so aussieht:
export foo=/tmp/foo
export bar=/tmp/bar
Jede Zeit, die ich baue, führe ich 'source init_env' aus (wobei init_env das obige Skript ist), um einige Variablen einzurichten.
Um dasselbe in Python zu erreichen, ließ ich diesen Code laufen,
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)
Aber dannjeman entschied, dass es schön wäre, eine Zeile wie die folgende zum @ hinzuzufüginit_env
Datei
export PATH="/foo/bar:/bar/foo:$PATH"
Offensichtlich ist mein Python-Skript auseinandergefallen. Ich könnte das Python-Skript ändern, um diese Zeile zu verarbeiten, aber es wird später nur unterbrochen, wennjeman wartet mit einer neuen Funktion auf, die im @ verwendet werden kaninit_env
Datei
Die Frage ist, ob es eine einfache Möglichkeit gibt, einen Bash-Befehl auszuführen und mein @ ändern zu lasseos.environ
?