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

标签 python shell variables

我试图通过将 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/

相关文章:

python类属性

bash - 使用 Shell 脚本自动将 .tar 文件提取到当前目录

javascript - Django 模板变量在脚本标签中无法识别,但在常规 h1 标签中可识别。是什么原因造成的?

python - 使用rdd函数修改pyspark中的数据帧

python - 将 pandas Dataframe 行写入文本文件

php - 将 utf-8 编码的参数从 PHP 传递给 casper JS

bash - 转换为数字

bash - 别名中的变量

python - 先进的阵列结构

python - SQLAlchemy:只获取一列