2014-12-05 286 views
1

我有一個程序,我必須使用setenv設置environ變量,但我得到一個錯誤,說"/bin/sh: setenv command not found"但setenv是內置shell命令爲什麼它不能與python子。任何一個可以幫我這個在python子過程中使用setenv

我寫的代碼是:

def ansaunrel(self): 
     apat = ['setenv ',' ANSA_SRV ','srtia027,srtia028,srtia004'] 
     subprocess.Popen(apat,shell=True) 
     ansrun='/share/ansa/NOT_RELEASED/14.2.2/ansa64.sh' 
     subprocess.Popen(ansrun,shell=True) 

設置環境變量後,我必須運行一個shell程序,但作爲ENVIRON變量未設置程序,無法啓動正常。所以我該怎麼做

回答

1

setenv是一個csh內建的,而不是bash內建的;如果你想運行setenv,你正在使用錯誤的shell。

但它看起來並不像你想爲你想要做的事情運行setenv。如果你想設置的環境子進程,使用env參數POPEN:

env = dict(os.environ) 
env['ANSA_SRV'] = 'srtia027,srtia028,srtia004' 
subprocess.Popen(ansrun, shell=True, env=env) 
+0

我來試試,謝謝 – ayaan 2014-12-05 03:51:27

+0

謝謝你,它的工作 – ayaan 2014-12-05 03:53:29