Передать переменную при импорте

Допустим, вам нужно выполнить некоторую трудоемкую работу, когда модуль / класс впервые импортируется. Эта функция зависит от переданной переменной. Это нужно делать только тогда, когда модуль / класс загружен. Затем все экземпляры класса могут использовать результат.

Например, я использую 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...
32
задан serv-inc 19 March 2018 в 09:04
поделиться