特定于目录的环境变量

时间:2018-10-16 06:32:43

标签: python linux environment-variables

我有一个像这样的目录系统:

|- /root/path
  |- config.json
  |- script1.py
  |- a
    |- script2.py
  |- b
    |- c
      |- d
         |- script3.py

script1.pyscript2.pyscript3.py都使用“根路径”(/ root / path)进行操作。现在,我已经将“ / root / path”硬编码到了py文件中。说,但是,我移动或重命名了根路径;我将不得不返回所有这些脚本并更改根路径。

我知道一种“解决”方法是让.py文件了解它们的相对位置,例如script3.py../../../config.json读取。但是,在某些时候,这变得非常繁琐,尤其是在设置了许多脚本的情况下。

我想知道是否有一种方式说“此目录中从任何地方运行 的任何脚本都可以访问某些环境变量”。 “从任何地方”都用斜体表示,因为如果没有此限制,我认为direnv会很好用。

1 个答案:

答案 0 :(得分:1)

您可以定义变量,例如my_root ='/ root / path',并定义脚本中与my_root相关的所有其他路径。例如,

config_json_path = os.path.join(my_root, 'config.json')