Holen Sie sich das aktuelle Python-Modul-Objekt (nach Name oder auf andere Weise)

Wenn ich das aktuelle Modul bekommen möchte, zB um es neu zu laden, würde ich:

import sys sys.modules[__name__] 

Gibt es einen besseren Weg, dies zu tun (zB nicht mit __name__ )? Besser in diesem Kontext bedeutet mehr idiomatisch, tragbarer, robuster oder mehr … irgendwelche der anderen Dinge, die wir normalerweise in unserer Software wünschen.

  • Probleme bei der Installation von rpy2 auf win7 (R 2.12, Python 2.5)
  • Lemmatizer in R oder Python (am, sind, ist -> be?) [Geschlossen]
  • Wie man python-Methode mit Signatur wie ([start,] stop [, step]) implementiert, dh Standard-Keyword-Argument auf der linken Seite
  • Gleichzeitig protokollieren und Kommandozeile Eingabe mit Twisted
  • Seaborn: Überlagern eines Kastenplots oder Mittelwertes mit Fehlerbalken auf einem Histogramm
  • Versuche, sich mit dem Mechanismus anzumelden
  • Ich benutze python 2, aber antworten für python 3 wird zweifellos nützlich für andere sein.

  • Numpy / pandas: Wie man eine Reihe von Strings von Nullen und Eins in eine Matrix umwandelt
  • Urllib2 nicht die vollständige HTTP-Antwort abrufen
  • Warum bekomme ich einen Rekursionsfehler mit BeautifulSoup und IDLE?
  • Fügen Sie ein Element an bestimmten Index in einer Liste ein und geben Sie die aktualisierte Liste zurück
  • Mehr als ein statischer Pfad in der lokalen Flasche-Instanz
  • Das Drucken von Listenelementen und Strings in Python hat unterschiedliche Ergebnisse
  • One Solution collect form web for “Holen Sie sich das aktuelle Python-Modul-Objekt (nach Name oder auf andere Weise)”

    Es gibt keine idiomatische Methode, um das aktuelle sys.modules aus sys.modules als das, was du benutzt hast.

    __name__ wird von Python beim Import gesetzt, im Wesentlichen:

     module_object = import_py_file(import_name) module_object.__name__ = import_name sys.modules[import_name] = module_object 

    So ist die __name__ Referenz genau das , was du hier verwenden möchtest.

    Python ist die beste Programmiersprache der Welt.