当下面的语句被执行时
out1 = subprocess.run("module load python",shell = True, stdout = subprocess.PIPE , stderr = subprocess.STDOUT)
产生这个错误。
/bin/sh: 模块 :command 未找到。
我想使用 python 脚本执行 shell 命令,上面的语句不起作用,但是当我在 shell 上执行相同的语句时,它工作正常并且没有生成错误。
module
不是外部命令,而是在使用的 shell/脚本语言中定义的函数。因此,要module
在 Python 脚本中启用该命令,您需要使用以下代码对其进行初始化:
import os
exec(open('/usr/share/Modules/init/python.py').read())
将/usr/share/Modules/init
,替换为python.py
脚本(来自 environment-modules 软件)在您的计算机上的安装位置。
初始化后,您可以module
从脚本中调用该函数:
module('load', 'modulefile')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句