gpt4 book ai didi

python - 将多个变量从 python 脚本传递到 shell 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:52 24 4
gpt4 key购买 nike

我试图通过将 python 变量导出到 shell 脚本而不是直接从用户那里读取它们来从 python 运行 shell 脚本。关于 passing array values as variable to shell script 的问题之前已成功回答并帮助我将数组中的值作为输入变量传递给 shell 脚本。我想从以下 python 脚本导出多个变量,例如 FLUIDTTYPEFLIBRARY:

FLUID="MDM"
TTYPE=0
FLIBRARY="RefProp"
HSPACE=[0.01, 0.009, 0.008, 0.007]
subprocess.call(['./testfile1'] + [str(n) for n in HSPACE])

到以下名为 testfile1 的 shell 脚本:

#!/bin/bash
echo "$FLUID, $FLIBRARY" | ./vls.exe
for i; do
awk 'NR==8 {$1=" " a }1' a=$i spacingcontrol.vls > tmp.vls && mv tmp.vls spacingcontrol.vls
awk 'NR==8 {$2=" " b " "}1' b=$i spacingcontrol.vls > tmp.vls && mv tmp.vls spacingcontrol.vls
done

最佳答案

您可以将它们设置为 Python 脚本中的环境变量:

import os 
import subprocess

os.environ['FLUID'] ="MDM"
os.environ['TTYPE'] = str(0)
os.environ['FLIBRARY'] = "RefProp"
HSPACE=[0.01, 0.009, 0.008, 0.007]
subprocess.call(['./testfile1'] + [str(n) for n in HSPACE])

关于python - 将多个变量从 python 脚本传递到 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37449327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com