覆盖导入包中的导入

2024-10-03 17:23:48 发布

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

以下是我的情况:

我的代码是:

from verbose import Classy

c = Classy(False)

它失败了,因为verbose中有一个错误,如下所示:

from deep import deepa, deepb, deepc, deepd

class Classy:
  def __init__(self, arg):
    if arg:
      self.x = deepa
      self.y = deepb
    else:
      self.x = deepc
      self.y = deepd

这是正确的,否则我可以提交拉请求,但这是正确的。问题是:世界没有准备好,它失败了。我需要用一个变通方法来修补它,我需要它的内容如下:

from deep import deepa, deepb, deepc, deepd

class Classy:
  def __init__(self, arg):
    if arg:
      self.x = deepa
      self.y = deepb
    else:
      self.x = deepc
      self.y = deepb

区别在最后一行。这是微妙的

到目前为止,我只是从verbose复制和粘贴代码,只是使用了一个与这一行不同的类,问题是:它很冗长,所以实际上有500行

在导入verbose之前,我希望在代码中使用对deepb的引用以某种方式覆盖对deepd的引用(由于超前于时间而失败),这很好


Tags: 代码fromimportselfverboseinitdefarg