2011-05-26 51 views
5

我想這樣做:如何在Python代碼中使用bash變量?

import subprocess 
    subprocess.call(['var="foo_bar"'], shell=True) 
    subprocess.call(['echo $var'], shell=True) 

但是,當我將在第二行使用$ VAR的值losted。

有人知道有人說要解決這個問題嗎? 這是一個簡單的例子,但需要做的是,在這裏一個更復雜的代碼..

韓國社交協會..

回答

12

os.environ將值注入到環境中。

os.environ['var'] = "foo_bar" 
subprocess.call(['echo $var'], shell=True) 
+0

完美,我的問題與此tip..Tks解決.. – JonatasTeixeira 2011-05-27 12:09:43

+0

也看一下'env'參數'subprocess.Popen'和'subprocess.call'。 – 2011-05-27 15:15:14

0

你不能。你可以使用環境變量(os.environ),你當然可以使用你所傳遞的所有東西作爲命令行參數(sys.argv),但bash變量是bash變量而不是Python變量。你必須找到另一種方式(也許我們可以建議一種方式,如果你告訴我們你到底想做什麼)。