【问题标题】:Importing a same variable from multiple libraries from different folder从不同文件夹的多个库中导入相同的变量
【发布时间】:2018-03-30 21:23:41
【问题描述】:

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

  • 文件夹_x
    • main.py
    • 文件夹_y
      • script1.py
      • script2.py
      • script3.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]

像魅力一样工作。

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

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

那么我怎样才能知道脚本在 folder_y 中并从中获取该变量呢?

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

【问题讨论】:

    标签: python loops variables import


    【解决方案1】:

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

    from mymodule import *

    这使您可以运行该文件中的所有函数和方法。

    【讨论】:

    • 是的,我知道,但我想把事情分开。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2018-01-21
    • 2013-01-18
    相关资源
    最近更新 更多