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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从不同文件夹中的多个库导入相同的变量相关的知识,希望对你有一定的参考价值。

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

  • folder_x main.py folder_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中并从那些变量中获取变量呢?

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

答案

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

from mymodule import *

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

以上是关于从不同文件夹中的多个库导入相同的变量的主要内容,如果未能解决你的问题,请参考以下文章

从不同来源的跨平台音频导入

从不同文件夹上传 HTML 多个文件

从不同类型的多个用户输入创建一个数组

将数据发送到从不同工厂接收的多个工厂[关闭]

从不同区域返回视图

将多个CSV文件导入具有相同名称的变量