8

次のコードでは、bashスクリプトに渡す変数$probe1を作成します。以下のおもちゃの例では、出力は空白です。つまり、$probe1はos.system呼び出し内のbashシェルスクリプトとして認識されません。何をする必要がありますか?

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')
4

2 に答える 2

10

これがあなたがやろうとしていることのようです:

In [2]: os.environ['probe1'] = 'hello'

In [3]: os.system('echo $probe1')
hello

しかし、なぜあなたがこれをしたいのか私にはわかりません...

于 2012-12-19T01:14:01.743 に答える
4
os.system('echo {0}'.format(probe1))

probe1はPython変数であり、シェル変数ではありません。

os.environ['probe1'] = probe1

bash環境変数をpython変数の内容に設定します。ただし、Pythonスクリプトが終了すると、環境変数はなくなります。

于 2012-12-19T01:09:30.187 に答える