#python-3.x #inheritance #base-class #abstract-methods
Вопрос:
У меня есть много классов в отдельных файлах, которые унаследованы от базового класса. Я хочу вернуть результат абстрактного метода из определения в базовом классе ,где он объявлен. Определение может быть в любом файле.
Пример кода является:
baseclass.py
class Spider_BaseClass(scrapy.Spider): @abstractmethod def GetProductUrls(self): pass
shopify.py
from BaseClass import Spider_BaseClass class shopify(Spider_BaseClass): def GetName(self, dataJson): return dataJson['title']
Chaserbrandscrapper.py
from Shopify import shopify from BaseClass import Spider_BaseClass class Chaserbrandscrapper(shopify): name='chaserbrandscrapper' start_urls = ['https://www.chaserbrand.com/'] def parse(self, response): yield scrapy.Request(response.request.url, callback=self.GetProductUrls, dont_filter=True) def GetProductUrls(self, response): categories = [] return ['these are url for base class']
Я хочу получить это —gt;»[‘это URL-адрес базового класса’]» в классе Spider_BaseClass. Заранее спасибо.