Python 将不同文件中的列表合并到超级列表中
我在一个模块中有许多不同的python文件。每个文件都有自己的列表,比如my_list=[]Python 将不同文件中的列表合并到超级列表中,python,django,Python,Django,我在一个模块中有许多不同的python文件。每个文件都有自己的列表,比如my_list=[] module __init__.py A.py # my_list = [1] B.py # my_list = [2] C.py # my_list = [3] D.py # my_list = [4] .. 我想以编程方式合并所有文件中的列表,并创建一个超级列表[1,2,3,4] 这是我试过的 import importlib module = importlib.import_mod
module
__init__.py
A.py # my_list = [1]
B.py # my_list = [2]
C.py # my_list = [3]
D.py # my_list = [4]
..
我想以编程方式合并所有文件中的列表,并创建一个超级列表[1,2,3,4]
这是我试过的
import importlib
module = importlib.import_module('module')
super_list = []
for file in ['A', 'B', 'C', 'D']:
super_list += getattr(module, file).my_list
这似乎奏效了。我遇到的问题是,我需要在模块中添加导入A、B、C、D
在python中有没有更好的方法来做同样的事情。我会在模块中尝试。在中有一个模块名列表,这是允许从模块导入*
和裸代码导入和扩展超级列表的标准行为,例如:
# module.__init__
import importlib
__all__ = ['A', 'B', 'C', 'D'] # List of what to import for from module import *
super_list = []
for sub in __all__:
try:
m = importlib.import_module(sub)
super_list.extend(getattr(m, 'my_list'))
except ImportError:
pass # Ignore any import errors
__all__.append('super_list') # Add to the import * list
如果您不希望允许模块导入*
中的,请在模块列表中使用\uuuuu all\uuuu
以外的名称
这会将特定于模块的行为放在它所属的模块中,而不是放在碰巧导入它的任何代码中。您可能会使用glob
来填充\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
以上是未经测试的代码我会在模块中尝试。在\uuuuuu all\uuuuu
中有一个模块名称列表,这是允许从模块导入*
和裸代码导入和扩展超级列表的标准行为,例如:
# module.__init__
import importlib
__all__ = ['A', 'B', 'C', 'D'] # List of what to import for from module import *
super_list = []
for sub in __all__:
try:
m = importlib.import_module(sub)
super_list.extend(getattr(m, 'my_list'))
except ImportError:
pass # Ignore any import errors
__all__.append('super_list') # Add to the import * list
如果您不希望允许模块导入*
中的,请在模块列表中使用\uuuuu all\uuuu
以外的名称
这会将特定于模块的行为放在它所属的模块中,而不是放在碰巧导入它的任何代码中。您可能会使用glob
来填充\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
以上是未经测试的代码super_list+=importlib.import_模块('module.'+文件)。我的_列表
感谢@AshwiniChaudharysuper_list+=importlib.import_模块('module.+文件)。我的_列表
感谢@AshwiniChaudhary