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

2024-03-29 09:21:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含.py脚本的文件夹,每个文件夹都包含一个相同的变量,如果某个脚本是从该文件夹中使用的,那么我需要在其他脚本中使用该变量

  • 文件夹\u x
    • 主.py
    • 文件夹\u y
      • 脚本1.py
      • 脚本2.py
      • 脚本3.py

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

我找到了这个解决方案https://stackoverflow.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]

很有魅力

但是这部分代码仍然认为脚本在文件夹x中

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

那么,如何判断脚本是否在文件夹\u y中,并从中获取该变量呢

或者有没有更好的方法列出另一个文件夹中的脚本/模块,并从每个文件夹中获取一个变量


Tags: pathnameinpy脚本文件夹modfor