动态选择class方法所属

Dynamically choose the class the method belongs

我有一个基础class,它具有2 classes reader_a和writer_a的共同属性和功能。我还有另一组 2 classes reader_b 和 writer_b,它们具有相同的功能。基础 class 被所有 classes.

继承
file -A 
class base class (abc.metadata)  
  #all common attributes
class reader(base class)
  def read_image():
    pass
class writer(base class)
  def write_image()
     pass

File B
class reader(base class)
  def read_image():
    pass
class writer  (base class)
  def write_image()
     pass

在两个文件中 reader 和 writer classes 中抽象方法的最佳方法是什么,以便我可以根据全局变量在它们之间动态切换?正在根据用户输入的文件类型设置全局变量。
目前我正在分别调用函数,比如读取图像(使用文件 A)我使用 fileA.read_image(文件路径)。 如果文件类型是文件 b,我应该如何调用我的方法来调用 read_image,它应该调用 fileb.read_image()?我在问如何定义一个 api 调用,比如 read_image() 它应该自动选择两个文件之间的函数。

假设您有多个 base 的实现并且您想决定使用哪一个(在 运行 时间内)- 您需要有这样的东西:

image_handler_type = os.getenv('image_handler','A')
if image_handler_type == 'A':
  image_handler = AReader()
elif mage_handler_type == 'B':
  image_handler = BReader()
...

# the main code uses image_handler without knowing the exact implementation
image_handler.read(...)