簡體   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