Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #75372
| References | <53d8a20e$0$29977$c3e8da3$5496439d@news.astraweb.com> |
|---|---|
| Date | 2014-07-30 21:22 +0800 |
| Subject | Re: Getting a list of all modules |
| From | Leo Jay <python.leojay@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.12436.1406726547.18130.python-list@python.org> (permalink) |
On Wed, Jul 30, 2014 at 3:43 PM, Steven D'Aprano <steve@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.
> I have a quick-and-dirty function which half does the job:
>
>
> def get_modules():
> extensions = ('.py', '.pyc', '.pyo', '.so', '.dll')
> matches = set()
> for location in sys.path:
> if location == '': location = '.'
> if os.path.isdir(location):
> for name in os.listdir(location):
> base, ext = os.path.splitext(name)
> if ext in extensions:
> matches.add(base)
> return sorted(matches)
>
>
>
> but I know it's wrong (it doesn't handle packages correctly, or zip
> files, doesn't follow .pth files, has a very naive understanding of cross-
> platform issues, fails to include built-in modules that don't live in the
> file system, and probably more).
>
> Is this problem already solved? Can anyone make any suggestions?
>
>
>
> --
> Steven
> --
> https://mail.python.org/mailman/listinfo/python-list
--
Best Regards,
Leo Jay
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Getting a list of all modules Steven D'Aprano <steve@pearwood.info> - 2014-07-30 07:43 +0000
Re: Getting a list of all modules Chris Angelico <rosuav@gmail.com> - 2014-07-30 18:33 +1000
Re: Getting a list of all modules Peter Otten <__peter__@web.de> - 2014-07-30 10:46 +0200
Re: Getting a list of all modules Robert Kern <robert.kern@gmail.com> - 2014-07-30 11:35 +0100
Re: Getting a list of all modules Leo Jay <python.leojay@gmail.com> - 2014-07-30 21:22 +0800
Re: Getting a list of all modules Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-07-31 10:41 +0000
Re: Getting a list of all modules Roy Smith <roy@panix.com> - 2014-07-31 07:55 -0400
Re: Getting a list of all modules Chris Angelico <rosuav@gmail.com> - 2014-07-31 23:13 +1000
Re: Getting a list of all modules Terry Reedy <tjreedy@udel.edu> - 2014-07-31 15:59 -0400
Re: Getting a list of all modules Robert Kern <robert.kern@gmail.com> - 2014-08-01 14:39 +0100
Re: Getting a list of all modules Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-01 15:41 +0000
Re: Getting a list of all modules jonnicoll11@googlemail.com - 2014-08-02 14:13 -0700
Re: Getting a list of all modules Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-02 22:22 +0100
Re: Getting a list of all modules Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-03 14:38 +0100
Re: Getting a list of all modules Chris Angelico <rosuav@gmail.com> - 2014-07-30 23:27 +1000
Re: Getting a list of all modules wxjmfauth@gmail.com - 2014-07-30 06:42 -0700
Re: Getting a list of all modules Ian Kelly <ian.g.kelly@gmail.com> - 2014-07-30 08:29 -0600
Re: Getting a list of all modules Skip Montanaro <skip@pobox.com> - 2014-07-30 09:45 -0500
Re: Getting a list of all modules Akira Li <4kir4.1i@gmail.com> - 2014-07-31 22:55 +0400
Bug with help (was Re: Getting a list of all modules) Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-07-31 20:19 +0100
Re: Bug with help (was Re: Getting a list of all modules) Terry Reedy <tjreedy@udel.edu> - 2014-07-31 16:15 -0400
Re: Bug with help (was Re: Getting a list of all modules) Akira Li <4kir4.1i@gmail.com> - 2014-08-02 06:17 +0400
Re: Bug with help (was Re: Getting a list of all modules) Heinz Schmitz <HeinzSchmitz@gmx.net> - 2014-08-02 10:33 +0200
Re: Bug with help (was Re: Getting a list of all modules) Robert Kern <robert.kern@gmail.com> - 2014-08-02 13:13 +0100
Re: Bug with help (was Re: Getting a list of all modules) Terry Reedy <tjreedy@udel.edu> - 2014-08-02 14:17 -0400
csiph-web