从不同文件夹的多个库中导入一个相同的变量

从不同文件夹的多个库中导入一个相同的变量

问题描述:

我有一个包含.py脚本的文件夹,每个文件夹都包含一个我在其他脚本中需要的变量,如果从该文件夹使用某个脚本。从不同文件夹的多个库中导入一个相同的变量

  • folder_x
    • main.py
    • folder_y
      • script1.py
      • script2.py
      • script3.py

所以所有的脚本都不是在同一时间只使用其中的一个。

我发现这个解决方案https://*.com/a/35524184/5708537 它运作良好,但我必须手动列出所有脚本。 我认为我这个自动化,使文件的列表,并剥离下来结束的.py:

path = '/home/folder_x/folder_y' 
files = os.listdir(path) 
module_list = [i for i in files if i.endswith('.py')] 
module_list = [os.path.splitext(x)[0] for x in module_list] 

就像一个魅力。

但是这部分代码仍然认为,脚本在folder_x

variables = {} 
for mod_name in module_list: 
mod = import_module(mod_name) 
variables[mod_name] = getattr(mod, 'var') 

所以,我怎么能告诉该脚本在folder_y并采取可变那些?

或者是否有更好的方法来列出其他文件夹中的脚本/模块,并从每个文件夹中获取变量?

如果您想导入自己的.py,只需将它们放在与调用它的程序相同的目录中即可。例如:

from mymodule import *

这使您可以运行所有功能和方法,在该文件中。

+0

是的,我知道,但我想保持分开。 – Taapsa