2009-03-18 2 views

Antwort

3

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.

-2

Import fred

Druck dir (fred)

+0

Das listet alle Attribute auf, nicht nur Sub-Module, so dass es die Frage nicht beantwortet. – bignose

-1

Sie haben die Quelle.

Schauen Sie sich die Dateien im Paketverzeichnis an. Diese Module können Sie importieren.

+0

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

+0

Erfinden? Erfinde was? Lies einfach die Quelle. –

-1

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.

+0

Das listet alle Attribute auf, nicht nur Untermodule, so dass es die Frage nicht beantwortet. – bignose