Jak zaktualizować zmienne exportowane z modułu

Jak zaktualizować zmienne exportowane z modułu
TT
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 97
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?

DR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1135
KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
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

SL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1020
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

ZD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2310
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.

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1

Typowy X/Y.

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.