问题标签 [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.
python - 将数据保存为 python 模块是否合理?
这是我为一个项目所做的。我有一些数据结构基本上是字典,其中包含一些对数据进行操作的方法。当我将它们保存到磁盘时,我将它们作为代码写入 .py 文件,当作为模块导入时,会将相同的数据加载到这样的数据结构中。
这合理吗?有什么大的缺点吗?我看到的好处是当我想对保存的数据进行操作时,我可以快速导入我需要的模块。此外,这些模块可以与应用程序的其余部分分开使用,因为您不需要单独的解析器或加载器功能。
python - 在不改变逻辑文件的情况下加载不同的模块
假设我有 2 个具有统一(相同)接口的不同模块。文件列表如下:
并且 pyfacebook.py 和 pymyspace.py 具有相同的接口,这意味着:
现在我有一个问题。我想在 logic.py 中执行逻辑而不复制代码,所以我想知道如何设置一个标志来显示我使用的模块,python 将自动加载正确的代码,这意味着:
然后我更改 PLATFORM = 'myspace',逻辑将自动运行。
那么我该怎么做呢?
我想知道使用动态导入是否可行,或者评估原始 python 代码,但似乎不是一个好的解决方案。或者如果我可以制作一个统一的包装纸
任何人都可以帮忙吗?
python - 动态导入 Python 模块
我有一个受信任的远程服务器,它存储了许多自定义 Python 模块。我可以通过 HTTP(例如使用urllib2.urlopen
)以文本/纯文本形式获取它们,但我无法将获取的模块代码保存到本地硬盘。如何将代码导入为完全可操作的 Python 模块,包括其全局变量和导入?
我想我必须使用exec
和imp
模块功能的某种组合,但我还不能让它工作。
python - 给定完整路径的模块动态模块导入类列表
首先,我认为我已经阅读了以下问题似乎是合适的:
而且,我觉得他们没有解决我的用例。也就是说,这是我的问题:
如何从这样的配置文件中动态导入:
这样我就可以像这样通过 RESTful 接口调用已知对象。
它可以在该类的实例上以 get() 的结果进行响应。
jstl - 使用 Stripes 的多个 c:imports 会导致问题
当我在同一个 jsp 中使用多个 c:import 标签调用同一个 Stripes 操作时,我遇到了问题。当我使用第一个 c:import 时,我使用了一些 c:params。这些绑定到操作中的相应字段。但是当我使用下一个 c:import 时,字段已经从第一个 c:import 设置,这不是我想要的。我希望能够多次导入一个动作,并且每次它应该只使用我通过 c:param 标签传入的值。
我能想到的唯一解决方案是在绑定和验证发生之前调用一个方法,将所有字段设置为空。这是个坏主意吗?处理这个问题的最佳方法是什么?
在这个例子中,catName 在我第一次和第二次使用 c:import 时都设置为“Junior”。
python - 从字符串动态导入文件中的方法
我有一个字符串,说:abc.def.ghi.jkl.myfile.mymethod
。如何动态导入mymethod
?
这是我的做法:
我想知道是否需要导入单个模块。
编辑:我使用的是 Python 2.6.5 版。
python-2.7 - 如何动态导入和重新导入包含可能随时更改的全局变量定义的文件
我需要有我的列表的实际状态,它可能随时改变。
我的列表.py
第一次导入时,它的状态是实际的,但 mylist.py 中的列表可能会更改。每次调用函数时,我都需要重新导入它。
一些代码.py
python - 使用 py2exe 处理动态导入
使用 py2exe 为我的应用程序准备 .exe 时遇到问题。这个问题的根源是我创建的以下函数来使用动态定义模块中的类。
当我尝试使用以下方法加载某些类时:
运行.exe时出现以下错误:
我应该准确地说 france.model.data.py 确实存在。
处理这个问题的适当方法是什么?
此处的信息是安装文件的链接:https ://github.com/openfisca/openfisca/blob/dev/src/setup_x64.py
python - python 2.7 isinstance 在动态导入的模块类中失败
我目前正在编写某种微型 api 来支持扩展模块类。用户应该能够在配置中写入他们的类名,然后在我们的程序中使用它。约定是,类的模块有一个调用函数create(**kwargs)
来返回我们的基本模块类的实例,并放置在一个特殊的文件夹中。但是,一旦动态进行导入,isinstance 检查就会失败。
模块放置在 lib/services/名称中
模块基类(在 lib/services/service 中)
示例模块类(在 lib/services/ping 中)
导入功能
调用代码
我到底做错了什么
这是一个压缩的小示例,只需提取并运行test.py
不带参数
zip 示例
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问题。我会发布另一个问题。