W sumie do konca nie wiedzialem jak nazwac ten temat, wiec postaram sie +/- wytlumaczyc oco mi chodzi.
Mam jeden modul a w nim zdefiniowane 4 klasy ktore sa kontenerami dla zmiennych (Dla mnie to taka symulacja structa z cpp xd). Cos takiego:
class elo:
zmienna = "dupa"
class elo2:
zmienna = "dupa"
class elo3:
zmienna = "dupa"
__all__ = ['elo', 'elo2', 'elo3']
Te zmienne to selektory a sama klasa reprezentuje konkretny web. W mojej klasie bazowej importuje caly modul z powyzszymi klasami i potrzebuje wywolac konkretna na podstawie argumentu passowanego do inicjalizacji obiektu. Obecnie mam cos takiego i dziala:
self.selectors = ""
for x in page_selectors.__all__:
if x == self.web:
exec (f"self.selector = page_selectors.{x}")
break
Szukam lepszego rozwiazania bo exec sam w sobie potrafi byc problematyczny. Samo ide widzi to jako blad no i ma racje -> W momencie proby wywolania
self.selectors.zmienna
ide nadal mysli, ze probuje wywolac cos z pustego stringa. Byc moze ktos ma solidniejsze rozwiazanie ? :) Nigdy nie potrzebowalem czegos takiego, ale tym razem stawiam na 100% automatyzacje skryptu.