在下面的代码中,我构造了一个变量$ probe1,然后我想传递给bash脚本。我是下面的玩具示例,输出是空白的,即$ probe1无法识别os.system调用中的bash shell脚本。需要做什么?
for line1 in datfile:
datmat=datmat+[line1.rstrip('\n').split('\t')]
probe=datmat[i][0]
snp1=datmat[i][2]
probe1='permprobes'+probe+'pheno.pphe'
os.system('echo $probe1')
答案 0 :(得分:10)
似乎这就是你要做的事情:
In [2]: os.environ['probe1'] = 'hello'
In [3]: os.system('echo $probe1')
hello
但我不知道你为什么要这样做......
答案 1 :(得分:4)
os.system('echo {0}'.format(probe1))
probe1是一个python变量,而不是一个shell变量。
os.environ['probe1'] = probe1
将bash环境变量设置为python变量内容。一旦python脚本退出,环境变量就会消失。