मेरे पास एक स्क्रिप्ट है जो कुछ इस तरह दिखती है:
export foo=/tmp/foo
export bar=/tmp/bar
हर बार जब मैं निर्माण करता हूं तो कुछ चर स्थापित करने के लिए मैं 'init_env' (जहां init_env उपरोक्त स्क्रिप्ट है) चलाता हूं।
पायथन में वही पूरा करने के लिए मेरे पास यह कोड चल रहा था,
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)
लेकिन तब किसी ने निर्णय लिया कि init_envफ़ाइल की तरह एक लाइन जोड़ना अच्छा होगा :
export PATH="/foo/bar:/bar/foo:$PATH"
जाहिर है मेरी पायथन लिपि बिखर गई। मैं इस लाइन को संभालने के लिए पायथन स्क्रिप्ट को संशोधित कर सकता था, लेकिन तब यह बाद में टूट जाएगा जब कोई व्यक्तिinit_env फ़ाइल में उपयोग करने के लिए एक नई सुविधा के साथ आएगा ।
सवाल यह है कि क्या बैश कमांड को चलाने का एक आसान तरीका है और इसे मेरा संशोधित करना है os.environ?