动态选择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(...)
我有一个基础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(...)