0
currentPath = os.environ['PATH']
myPath = "/auto/sw/packages/bin"
match = re.search(myPath, currentPath)
if match is not None:
print 'PATH '+ match.group(0)+ 'FOUND'
else:
os.environ['PATH'] = os.environ['PATH'] + myPath
print 'SET PATH: ' + os.environ['PATH']
在我上面的代碼中,SET PATH輸出打印正確,但是當我使用'echo $ PATH'檢查時,它不改變實際的PATH變量。我在這裏做錯了什麼?快速的幫助將不勝感激。使用Python設置環境變量
的[如何設置Python環境變量(http://stackoverflow.com/questions/5971312/how-to-set-environment-variables-in-python) – BartoszKP
你是不是想可能重複在您的Python腳本退出後,在shell中「echo $ PATH」?如果是這樣,就不可能通過這種方式改變環境變量。您可以在當前作用域和子進程中更改環境變量,但不能更改外部作用域/調用進程的環境。環境變化只會傳播下來,並且您的Python代碼正在從調用進程/外殼派生的子進程中運行。 –
是的。但我的意圖是從腳本中改變PATH。應該有辦法做到這一點。如果我在這方面取得成功,我會在這裏發帖。 –