从不同文件夹的多个库中导入一个相同的变量
问题描述:
我有一个包含.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 *
这使您可以运行所有功能和方法,在该文件中。
是的,我知道,但我想保持分开。 – Taapsa