Gibt es eine Möglichkeit zu wissen, welche Module aus einem Paket importiert werden können?Wie finde ich die Module, die für den Import aus einem Paket verfügbar sind?
Antwort
Viele Pakete enthalten eine Liste namens __all__
, in der die Mitgliedsmodule aufgeführt sind. Dies wird verwendet, wenn Python from x import *
. Sie können mehr darüber lesen here.
Wenn das Paket __all__
nicht definiert, müssen Sie so etwas wie die Antwort auf eine Frage, die ich früher fragte, here.
Import fred
Druck dir (fred)
Sie haben die Quelle.
Schauen Sie sich die Dateien im Paketverzeichnis an. Diese Module können Sie importieren.
Es gibt viele Möglichkeiten für Dateien innerhalb des Pakets (ein Verzeichnis), die * nicht * Module für den Import verfügbar sind. Der Python-Importmechanismus kennt den Unterschied, daher erscheint es vernünftig, diese Funktionalität verfügbar zu machen, anstatt sie von jedem neu erfinden zu lassen. – bignose
Erfinden? Erfinde was? Lies einfach die Quelle. –
dir ([Objekt]);
Ohne Argumente gibt dir() die Liste der Namen im aktuellen lokalen Bereich zurück. Versuchen Sie mit einem Argument, eine Liste gültiger Attribute für dieses Objekt zurückzugeben.
So im Fall eines Moduls, wie 'sys':
>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__', '__stdin__', '__stdout__', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getrecursionlimit', 'getrefcount', 'hexversion', 'maxint', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'pydebug', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
Das ist alles da ist zu ihm.
Das listet alle Attribute auf, nicht nur Untermodule, so dass es die Frage nicht beantwortet. – bignose
- 1. Wie finde ich den Pfad für einen fehlgeschlagenen Python-Import?
- 2. JBoss AS 7: Wie finde ich die auszuschließenden Module?
- 3. Wie finde ich den Code für Farbe, die ich mag?
- 4. wie man weiß, welche Importe und Module verfügbar sind
- 5. Import-Module aus verschiedenen Ordnern
- 6. Wie exportiert man mehrere Module aus einem Paket?
- 7. Paket Anweisung, die als „nicht genutzte Import“
- 8. Python-Paket für die Signalverarbeitung
- 9. Bibliotheken, die für Module nach dem SBT-Import in IntelliJ nicht sichtbar sind
- 10. Wo sind die CommonJS-Module?
- 11. Python: Module in einem Paket bekommen
- 12. von ... Import oder importieren ... wie für Module
- 13. Wie finde ich Datensätze, die nicht verknüpft sind?
- 14. Python-Import-Module, Ordnerstrukturen
- 15. Wie finde ich die Module oder Klassen, die ein Modul enthalten?
- 16. Wie finde ich den Zeitstempel für die nächste Startminute?
- 17. wie finde ich nummer die nicht in einer arraylist sind?
- 18. Python Paket Import aus übergeordnetem Verzeichnis
- 19. Wie finde ich die CMake-Befehlszeile, die ich für den Build verwendet habe?
- 20. Sind die integrierten Python-Methoden in einem alternativen Namespace verfügbar?
- 21. Wie finde ich die Versionsnummern der eingebauten Module in PHP aus dem CLI
- 22. Wie finde ich Dateien, die gerade in Linux geschrieben sind?
- 23. Django: Informationen aus URLs, die in Vorlagendateien verfügbar sind?
- 24. Wie importiere ich eine R-Funktion aus einem anderen Paket, so dass sie für den Benutzer verfügbar wäre?
- 25. Warum sind Konstanten aus dem erweiterten Modul in Klassenmethoden, die mit self deklariert sind, nicht verfügbar?
- 26. Zugriffsverletzung - wie finde ich die Ursache?
- 27. wie Module zu verwenden, die Deps sind in rebar.config
- 28. Fehler Python-Import aus einem anderen Ordner
- 29. Import-Module von GAC für Powershell-Usage
- 30. iOS CocoaPods - Wie wird die Verwendung von '@import' gelöst, wenn Module deaktiviert sind "Fehler?
Das listet alle Attribute auf, nicht nur Sub-Module, so dass es die Frage nicht beantwortet. – bignose