Getting a list of all modules

Steven D'Aprano steve+comp.lang.python at pearwood.info
Thu Jul 31 06:41:30 EDT 2014


On Wed, 30 Jul 2014 21:22:18 +0800, Leo Jay wrote:

> On Wed, Jul 30, 2014 at 3:43 PM, Steven D'Aprano <steve at pearwood.info>
> wrote:
>> I'm looking for a programmatic way to get a list of all Python modules
>> and packages. Not just those already imported, but all those which
>> *could* be imported.
>>
>>
> If you don't actually import it, how can you know it could be imported?
> Not all .so files are valid python modules. Not all .py files could be
> imported by all python interpreters.

You're right, of course, but I'm not concerned by whether or not the 
module is error-free and can be imported successfully.

I'm working on tab completion for module names. I have some alpha-quality 
code working, so if I hit TAB after typing "import ma" I get this:


py> import ma
macpath      macurl2path  mailbox      mailcap      mangle       
markupbase   math

For what it's worth, importing "mangle" fails with a SyntaxError. But 
that's okay, I don't expect tab completion to only show *valid* 
modules :-)

Over the next few days I'll make an official announcement, but if anyone 
wants a sneak-peek, check out:

http://code.google.com/p/tabhistory/source/browse/tabhistory.py


where I have indenting, code completion, filename completion, and module 
completion all working to some degree or another.

Thanks to everyone for their help.



-- 
Steven



More information about the Python-list mailing list