我有一个像这样的目录系统:
|- /root/path
|- config.json
|- script1.py
|- a
|- script2.py
|- b
|- c
|- d
|- script3.py
script1.py
,script2.py
和script3.py
都使用“根路径”(/ root / path)进行操作。现在,我已经将“ / root / path”硬编码到了py文件中。说,但是,我移动或重命名了根路径;我将不得不返回所有这些脚本并更改根路径。
我知道一种“解决”方法是让.py文件了解它们的相对位置,例如script3.py
从../../../config.json
读取。但是,在某些时候,这变得非常繁琐,尤其是在设置了许多脚本的情况下。
我想知道是否有一种方式说“此目录中从任何地方运行 的任何脚本都可以访问某些环境变量”。 “从任何地方”都用斜体表示,因为如果没有此限制,我认为direnv会很好用。
答案 0 :(得分:1)
您可以定义变量,例如my_root ='/ root / path',并定义脚本中与my_root相关的所有其他路径。例如,
config_json_path = os.path.join(my_root, 'config.json')