如何从python脚本

时间:2017-06-19 12:33:50

标签: python linux shell

当我使用linux shell时,我写module load numeca/open/61_numeca_mpi,按Enter键,程序上传模块许可证,然后我写fine并再次按回车键。我写了一个Python脚本来做到这一点。

import os

os.system("module load numeca/open/61_numeca_mpi")
os.system("fine")

它上传了模块许可证,但随后说了

ERROR:105: Unable to locate a modulefile for 'fine'.

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

尝试使用子进程模块:

import subprocess
p= subprocess.Popen(['module','load numeca/open/61_numeca_mpi"'],stdout=subprocess.PIPE,stdin=subprocess.PIPE)
p.stdin.write('fine')
p.communicate()[0]
p.stdin.close()

答案 1 :(得分:0)

尝试在同一个shell中执行这两个命令,如下所示:

os.system("module load numeca/open/61_numeca_mpi && fine")