繁体   English   中英

如何在python脚本中运行'module load <>'命令

[英]How to run 'module load < > ' command from within python script

我尝试使用os.system() subprocess.call()subprocess.Popen() { 具有和不具有选项shell=True }执行module load ___从我的Python脚本内。 即使脚本成功运行并且提到我的模块已在终端中加载,我也无法使用它。 我正在使用SSH客户端。 当我直接以命令行运行它时, module load _____可以正常工作。

我相信问题在于os.system和子进程都在一个...子进程中运行命令。 因此,该模块已在子流程上下文中成功加载,并且立即存在。 虽然在python的进程上下文中没有影响。

我现在不在电脑旁尝试一下,这应该可以工作:

run_py.sh:

pyfile=$1
shift 1
python $pyfile $(tty) $@ &

这将使用第一个参数运行当前tty设备的路径来运行python文件,所有其他参数都将跟随。 解析参数,将tty设备路径保存到tty_dev。 现在您可以运行:

os.system('echo "module load <>" > ' + tty_dev)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM