问题标签 [dynamic-import]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
318 浏览

python - 将数据保存为 python 模块是否合理?

这是我为一个项目所做的。我有一些数据结构基本上是字典,其中包含一些对数据进行操作的方法。当我将它们保存到磁盘时,我将它们作为代码写入 .py 文件,当作为模块导入时,会将相同的数据加载到这样的数据结构中。

这合理吗?有什么大的缺点吗?我看到的好处是当我想对保存的数据进行操作时,我可以快速导入我需要的模块。此外,这些模块可以与应用程序的其余部分分开使用,因为您不需要单独的解析器或加载器功能。

0 投票
3 回答
105 浏览

python - 在不改变逻辑文件的情况下加载不同的模块

假设我有 2 个具有统一(相同)接口的不同模块。文件列表如下:

并且 pyfacebook.py 和 pymyspace.py 具有相同的接口,这意味着:

现在我有一个问题。我想在 logic.py 中执行逻辑而不复制代码,所以我想知道如何设置一个标志来显示我使用的模块,python 将自动加载正确的代码,这意味着:

然后我更改 PLATFORM = 'myspace',逻辑将自动运行。

那么我该怎么做呢?

我想知道使用动态导入是否可行,或者评估原始 python 代码,但似乎不是一个好的解决方案。或者如果我可以制作一个统一的包装纸

任何人都可以帮忙吗?

0 投票
4 回答
8919 浏览

python - 动态导入 Python 模块

我有一个受信任的远程服务器,它存储了许多自定义 Python 模块。我可以通过 HTTP(例如使用urllib2.urlopen)以文本/纯文本形式获取它们,但我无法将获取的模块代码保存到本地硬盘。如何将代码导入为完全可操作的 Python 模块,包括其全局变量和导入?
我想我必须使用execimp模块功能的某种组合,但我还不能让它工作。

0 投票
2 回答
990 浏览

python - 给定完整路径的模块动态模块导入类列表

首先,我认为我已经阅读了以下问题似乎是合适的:

而且,我觉得他们没有解决我的用例。也就是说,这是我的问题:

如何从这样的配置文件中动态导入:

这样我就可以像这样通过 RESTful 接口调用已知对象。

它可以在该类的实例上以 get() 的结果进行响应。

0 投票
1 回答
430 浏览

jstl - 使用 Stripes 的多个 c:imports 会导致问题

当我在同一个 jsp 中使用多个 c:import 标签调用同一个 Stripes 操作时,我遇到了问题。当我使用第一个 c:import 时,我使用了一些 c:params。这些绑定到操作中的相应字段。但是当我使用下一个 c:import 时,字段已经从第一个 c:import 设置,这不是我想要的。我希望能够多次导入一个动作,并且每次它应该只使用我通过 c:param 标签传入的值。

我能想到的唯一解决方案是在绑定和验证发生之前调用一个方法,将所有字段设置为空。这是个坏主意吗?处理这个问题的最佳方法是什么?

在这个例子中,catName 在我第一次和第二次使用 c:import 时都设置为“Junior”。

0 投票
9 回答
113091 浏览

python - 从字符串动态导入文件中的方法

我有一个字符串,说:abc.def.ghi.jkl.myfile.mymethod。如何动态导入mymethod

这是我的做法:

我想知道是否需要导入单个模块。

编辑:我使用的是 Python 2.6.5 版。

0 投票
1 回答
755 浏览

python-2.7 - 如何动态导入和重新导入包含可能随时更改的全局变量定义的文件

我需要有我的列表的实际状态,它可能随时改变。

我的列表.py

第一次导入时,它的状态是实际的,但 mylist.py 中的列表可能会更改。每次调用函数时,我都需要重新导入它。

一些代码.py

0 投票
1 回答
1142 浏览

python - 使用 py2exe 处理动态导入

使用 py2exe 为我的应用程序准备 .exe 时遇到问题。这个问题的根源是我创建的以下函数来使用动态定义模块中的类。

当我尝试使用以下方法加载某些类时:

运行.exe时出现以下错误:

我应该准确地说 france.model.data.py 确实存在。

处理这个问题的适当方法是什么?

此处的信息是安装文件的链接:https ://github.com/openfisca/openfisca/blob/dev/src/setup_x64.py

0 投票
1 回答
1663 浏览

python - python 2.7 isinstance 在动态导入的模块类中失败

我目前正在编写某种微型 api 来支持扩展模块类。用户应该能够在配置中写入他们的类名,然后在我们的程序中使用它。约定是,类的模块有一个调用函数create(**kwargs)来返回我们的基本模块类的实例,并放置在一个特殊的文件夹中。但是,一旦动态进行导入,isinstance 检查就会失败。

模块放置在 lib/services/名称中

模块基类(在 lib/services/service 中)

示例模块类(在 lib/services/ping 中)

导入功能

调用代码

我到底做错了什么

这是一个压缩的小示例,只需提取并运行test.py不带参数 zip 示例

0 投票
2 回答
525 浏览

python - 进行动态导入,这在 Python 中仍然是显式的

好吧,这有点复杂。

假设我在包中有一个模块:

我在里面a_module.py声明A_Class

我可以通过这样做来创建一个实例A_Class并调用say方法:

但是,我想做一个更动态的方法(我计划有很多包和类,并且想让代码更容易编写)。所以,我做了一个函数叫做load_class

该程序按预期工作,但 IDE(我使用 pydev)不理解我的代码,并且无法执行智能感知(自动完成代码)。

如果我使用第一种方法,智能感知显然是有效的:

但如果我使用第二种方法,智能感知无法为我完成:

我知道,这是在 Python 中进行动态导入的权衡。但是,我想知道是否有一些替代方法可以让我做第二种方法(可能不使用exec),它仍然可以让通用 IDE(如 Pydev)的智能感知猜测类内的方法?

编辑:为什么我需要这样做?假设我有这样的目录结构

在 中need_dynamic.py,我有这个脚本:

这只是为了简化,实际上,我打算通过获取目录来自动food_list填充。subfood_list

想象一下,您有一个数据分类框架,并希望让用户选择他们想要使用的方法。用户还应该能够通过简单地添加 python 包一个模块来扩展框架。

我希望这个例子是合理的。

再次编辑接受的答案并不能解决智能感知问题。但它展示了如何更好地编码。我认为这是IDE问题而不是python问题。我会发布另一个问题。