Python начинающий здесь. Допустим, у меня есть три метода очистки веб-сайтов. Давайте назовем их scrape_site_a
, scrape_site_b
и scrape_site_c
. Я хочу запустить каждый из них, но я бы хотел определить их таким образом, чтобы я мог вызывать их динамически, не называя каждого по имени. В идеале я хотел бы просто загрузить все модули в каталог и вызвать один и тот же метод для каждого из них. Моя попытка до сих пор заключается в следующем:
site_a.py
def scrape():
# scrape the site
site_b.py
def scrape():
# scrape the site
site_c.py
def scrape():
# scrape the site
У меня есть настройка __init__.py
, так что я могу сделать следующее:
scrape.py
from sites import *
site_a.scrape()
site_b.scrape()
site_c.scrape()
Я хотел бы сделать что-то вроде:
for site in sites:
site.scrape()
Я понимаю, что есть фундаментальная концепция программирования, которую я здесь не понимаю, и у меня есть два вопроса:
- Есть ли способ сделать это, используя подход, который я использую?
- Есть ли лучший подход? Почему?