passer des variables de python à bash shell script via os.système
dans le code suivant, je construis une variable $probe1 que je veux ensuite passer à un script bash. I l'exemple de jouet ci-dessous, la sortie est vide, i.e. $probe1 n'est pas reconnu le script shell bash dans le système d'exploitation.système d'appel. Ce qui doit être fait?
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')
8
demandé sur
user1815498
2012-12-19 05:06:58
2 réponses
Semble que c'est ce que vous essayez de faire:
In [2]: os.environ['probe1'] = 'hello'
In [3]: os.system('echo $probe1')
hello
Mais je n'ai aucune idée de pourquoi vous voulez faire cela ...
10
répondu
satoru
2012-12-19 01:14:01
os.system('echo {0}'.format(probe1))
probe1 est une variable python, pas une variable shell.
os.environ['probe1'] = probe1
définira la variable d'environnement bash au contenu de la variable python. Une fois le script python terminé, la variable d'environnement disparaît.
4
répondu
jgritty
2012-12-19 01:23:14