2013-03-14 25 views
5

Brałem spojrzeć na niektóre popełnić projektu i widzę następujące zmiany w pliku:Różnica między importem i __import__ w Pythonie

-  import dataFile 
+  dataFile = __import__(dataFile) 

Koder zastąpiony import dataFile przez dataFile = __import__(dataFile).

Jaka jest dokładnie różnica między nimi?

+0

Użyj tego - http://docs.python.org/2/library/functions.html#__import__, –

+0

W 2.7 i 3.x , zachęcamy do używania ['importlib.import_module'] (http://docs.python.org/3/library/importlib#importlib.import_module). – eryksun

Odpowiedz

5
import dataFile 

przekłada grubsza

dataFile = __import__('dataFile') 

Najwyraźniej deweloper zdecydował, że chcą użyć do identyfikacji ciągi modułów chcieli importować. Jest to prawdopodobnie możliwe, aby mogli dynamicznie zmieniać, który moduł chcieli zaimportować ...

+0

Masz rację. Chodzi o to, że 'dataFile' jest parametrem jakiejś funkcji i wydaje się wskazywać na jakiś plik python, więc myślę że' import dataFile' nie działał na pierwszym miejscu, a on właśnie naprawił błąd w następnym zatwierdzeniu pisząc go w inny sposób :) –

Powiązane problemy