如何点''在Python的环境文件中

时间:2015-12-29 16:03:03

标签: python

我写了一个Python程序,它将在主生产服务器和灾难恢复服务器上执行。在灾难恢复服务器上运行程序时,行为略有不同。 因此,程序需要确定它正在运行的服务器。

我们在这些服务器上运行了许多其他ksh程序,它们具有相同的要求:在两台服务器上运行,但DR服务器上可能略有不同。所有这些脚本都有点'在环境文件中,然后检查"如果环境变量$ DR_SITE等于1"确定它是否在DR服务器上运行。

我想使用Python程序中的现有环境文件 - 确定它是否在DR服务器上运行。我不能只读取这个环境文件,它实际上是一个ksh脚本,它在设置DR_SITE变量之前本身就有一些逻辑。

这让我想到了原来的问题: 你是如何做点什么的?' in(或者在python中执行如上所述的环境文件,以便继承由?设置的环境变量? 例如,在ksh中我会执行此操作:

. /path/env.set

我尝试了这个,但它似乎没有用(我在调用os.system调用之前打印出了DR_SITE值,之后,它没有改变):

os.system(". /appl/gfpd2/current/D2soe_set")

1 个答案:

答案 0 :(得分:0)

您可以编写一个ksh脚本来源和执行环境设置器,然后调用Python程序;

#!/usr/bin/env ksh
. /path/env.set
exec python /path/your_script.py

Exec用于保存一些内存。 (我不会将变量传递给Python脚本,因为我不熟悉ksh。)