当我使用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'.
有什么建议吗?
答案 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")