Jak zaktualizować zmienne exportowane z modułu

0

Hej w moim skrypcie robie coś takiego:

from module import *

gdzie module zawiera po prostu wiele zmiennych. Pozniej moj kod zmienia wartosc zmiennych w pliku module i niestety jak wpisze znowu from module import * to wartosci zmiennych sie nie aktualizuja. Jest jakis sposob zeby po ponownym wpisaniu wszystko sie jeszcze raz importowalo dla tego wybranego modulu?

5

Jeśli chcesz importować moduł dwukrotnie z dwoma różnymi stanami (lub przywrócić stary stan) to chyba czas żeby moduł zastapic klasą i poczytac o obiektach. Wtedy zamiast modułu masz klasę ze zmiennymi, a zamiast importować moduł tworzysz instancję klasy czyli obiekt. A jak chcesz przywrócić wartości to tworzysz nową instancję tej klasy czyli nowy obiekt

1

Tak jak wyżej: nie powinieneś polegać na zmiennym stanie w module, bo to bardzo komplikuje kod. Oczywiście nie ma problemu ze stałymi lub jakimś cachowaniem, ale sytuacja, że chcesz odświeżyć zmienne jest IMO powodem złego designu

1
KamilAdam napisał(a):

Jeśli chcesz importować moduł dwukrotnie z dwoma różnymi stanami (lub przywrócić stary stan) to chyba czas żeby moduł zastapic klasą i poczytac o obiektach. Wtedy zamiast modułu masz klasę ze zmiennymi, a zamiast importować moduł tworzysz instancję klasy czyli obiekt. A jak chcesz przywrócić wartości to tworzysz nową instancję tej klasy czyli nowy obiekt

Bingo.

Długo nie rozumiałem, o co tu chodzi.

Rzeczywiście porypany design.

1

Typowy X/Y.

Twoim problemem jest niepoprawne zarządzanie stanem, a pytasz o reimport modułów. Odpowiedź od @KamilAdam jest najlepsza.

1 użytkowników online, w tym zalogowanych: 0, gości: 1