从名为variab的模块导入字典

2024-10-01 07:51:14 发布

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

我编写了一个程序,将文件夹中的所有文件编码为字符串,并将其作为字典写入pyfile。在

要创建的py文件的名称与路径一起给出,字典是通过在其名称中添加“=data”来创建的。例如:

pyfilename = "images.py"

然后将包含图像的字典作为imagesdata写入此文件。在

现在我需要解码以前以这种方式编码的py文件。在

我只给出一个变量中py文件的名称,程序从中获取所有其他名称,并使用给定的名称从正确的模块导入正确的字典。下面给出了示例代码。在

^{pr2}$

程序应该这样做

from name2decode import dictname

其中name2decode和{}是变量。我尝试使用__import__("name2decode.dictname")语法,但由于某些原因,这不起作用。也许我把语法搞错了。在

如何做到这一点?在


Tags: 文件字符串pyimport路径程序文件夹名称
1条回答
网友
1楼 · 发布于 2024-10-01 07:51:14

导入模块名,然后使用getattr()从中获取dictionary对象:

import importlib
import os.path

name2decode = os.path.splitext(name2decode)[0]
module = importlib.import_module(name2decode)
dictionary = getattr(module, dictname)

注意,导入时需要删除.py扩展名!在

相关问题 更多 >