Ich arbeite an Python 2.6/2.7-Code, der Folgendes enthält:Python: Kann __file__ Keine sein, wenn der Import erfolgreich war?
try:
import gmpy
gmpy_imported=True
except ImportError:
gmpy_imported=False
if gmpy_imported and gmpy.__file__ is None:
gmpy_imported=False
ich den try-except
Teil verstehen kann, die, wenn gmpy auf dem System installiert wurde, um zu sehen, verwendet wird - und wenn nicht, zu mach was auch immer. Allerdings verstehe ich nicht, warum die if gmpy.__file__ is None
Prüfung notwendig ist; es scheint überflüssig zu sein.
Gibt es Umstände, unter denen der Import eines Pakets erfolgreich war, aber der Pfad zum Paket tatsächlich leer ist? Ist dies ein Fail-Safe gegen eine beschädigte Installation?
Wenn dies Python 3.2+ ist, ist der Import-bezogene Code tatsächlich lesbar genug, dass wir wahrscheinlich durchgehen könnten und sehen, ob so etwas jemals passieren könnte. Aber ich glaube nicht, dass ich das mit dem alten Code ausprobieren möchte ... – abarnert
Nein, es ist Python 2. Ich hätte das in der Frage klären sollen ... – Boris