python - 导入时传递变量

标签 python import

假设您在第一次导入模块/类时有一些耗时的工作要做。此功能取决于传入的变量。它只需要在加载模块/类时完成。然后类的所有实例都可以使用结果。

例如,我使用的是 rpy2:

import rpy2.robjects as robjects

PATH_TO_R_SOURCE = ## I need to pass this
robjects.r.source(PATH_TO_R_SOURCE, chdir = True) ## this takes time

class SomeClass:
  def __init__(self, aCurve):
    self._curve = aCurve

  def processCurve(self):
    robjects.r['someRFunc'](robjects.FloatVector(self._curve))

我是否坚持创建一个我调用来完成工作的模块级函数?

import someClass
someClass.sourceRStuff(PATH_TO_R_SOURCE)
x = someClass.SomeClass([1,2,3,4])
etc...

最佳答案

拥有模块初始化函数并非闻所未闻。 Pygame 为 sdl 初始化函数执行此操作。所以是的,你最好的选择可能是

import someModule
someModule.init(NECESSARY_DATA)
x = someModule.someClass(range(1, 5))

关于python - 导入时传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3720740/

相关文章:

python - 使用 for 循环遍历列表,检查字符是否存在。如果存在,将角色放入同一个位置的新列表中

python - 在 python 上运行一些 os-module 代码时,我不断收到 unicode 错误消息(打开 mp3)

python - 跟踪 Python 导入

python - 分包导入或全路径差

python-3.x - 我无法成功将 pywinauto 导入 python 3.6.4

java - 导入模块中的不可见构造函数?

Python - Windows 目录的每一步都必须有 __init__.py 吗?

python - 没有名为 sql_server.pyodbc.base 的模块

python - 从 Python 运行 pdftotext

python - 使用登录(请求,用户)函数与默认数据库以外的数据库 - Django?