I zmodyfikowane sys.modules[__name__]
do klasy Hello
, tak:nie może znaleźć modułu czasu kiedy zmienił sys.modules [__ name__]
# hello.py
import sys
import time
class Hello:
def print_time(self):
print 'hello, current time is:', time.time()
sys.modules[__name__] = Hello()
Potem importowane hello.py
w innym pliku python test.py
jak:
# test.py
import hello
hello.print_time()
Ale otrzymałem komunikat o błędzie "AttributeError: 'NoneType' object has no attribute 'time'"
po uruchomieniu python test.py
. Wygląda na to, że hello.py
nie może zaimportować modułu time
.
naprawdę nie dowiedzieć się problem.
Jak mogę to naprawić?
mam żadnego wytłumaczenia, dlaczego tak się dzieje i teraz jestem ciekawy też, ale go obejść można nadużywać zalegających zmieniając 'def print_time (self):' na 'def print_time (self, czas = czas): '. Przypominam, że była to zwykła sztuczka, zanim Python wspierał zakres leksykalny. – icktoofay