Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #75372
| Path | csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail |
|---|---|
| Return-Path | <python.leojay@gmail.com> |
| X-Original-To | python-list@python.org |
| Delivered-To | python-list@mail.python.org |
| X-Spam-Status | OK 0.002 |
| X-Spam-Evidence | '*H*': 1.00; '*S*': 0.00; 'matches': 0.07; 'subject:Getting': 0.07; "'.'": 0.09; 'imported': 0.09; 'subject:modules': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'def': 0.12; "'':": 0.16; '(it': 0.16; '.py': 0.16; 'imported.': 0.16; 'modules.': 0.16; 'programmatic': 0.16; 'set()': 0.16; 'sys.path:': 0.16; 'to:addr:pearwood.info': 0.16; "to:name:steven d'aprano": 0.16; 'extensions': 0.16; 'wrote:': 0.18; 'wed,': 0.18; 'packages.': 0.19; 'import': 0.22; 'cc:addr:python.org': 0.22; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; 'header:In-Reply-To:1': 0.27; 'function': 0.29; "doesn't": 0.30; 'subject:list': 0.30; 'message- id:@mail.gmail.com': 0.30; "i'm": 0.30; 'url:mailman': 0.30; 'base,': 0.31; "d'aprano": 0.31; 'steven': 0.31; 'anyone': 0.31; 'file': 0.32; 'probably': 0.32; 'subject:all': 0.32; 'url:python': 0.33; 'could': 0.34; 'problem': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'ext': 0.36; 'url:listinfo': 0.36; 'url:org': 0.36; 'half': 0.37; 'wrong': 0.37; 'list': 0.37; 'skip:o 20': 0.38; 'system,': 0.38; 'handle': 0.38; 'files': 0.38; 'pm,': 0.38; 'does': 0.39; 'url:mail': 0.40; 'how': 0.40; 'skip:u 10': 0.60; 'issues,': 0.61; 'name': 0.63; 'zip': 0.64; '30,': 0.65; 'jul': 0.74; 'leo': 0.84 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=0fn/kH7I7Cxyn4mohcshzze0YebtsNEzDVCtTKJTZVY=; b=YzLfILzRhvtI0sdEpTP0D9+gQgBMNYCz9qDr1aT+kzLRRFojpBCPLWHIehNQADph+F 7Kul2MnVcFlFu67ZoQM0GL0D1cR/fMBZiFtkcdGN3dw+E/Jj0VBLZXEdfezpo2VILj0Y qgH9h0Uw7Gzd6Pzino/Z06uU6XDqwHTj6JMcAweRbNwgxST4L6llBaiCrMRvplkB434o OxEhHHUi9EHcTo8TjmJNqJQbkRv456czNEzQQHXMuDnfETmJV8y/BBxUMsEnuZ/8YvVl 8tjqE0HxCVWM1aHvzgwN/B1TVx7xG6mNn2zYcalR3i0Rlj3G0bQVoqMEIYQTO03Dz5/q KMEQ== |
| MIME-Version | 1.0 |
| X-Received | by 10.52.244.81 with SMTP id xe17mr7792934vdc.24.1406726538638; Wed, 30 Jul 2014 06:22:18 -0700 (PDT) |
| In-Reply-To | <53d8a20e$0$29977$c3e8da3$5496439d@news.astraweb.com> |
| References | <53d8a20e$0$29977$c3e8da3$5496439d@news.astraweb.com> |
| Date | Wed, 30 Jul 2014 21:22:18 +0800 |
| Subject | Re: Getting a list of all modules |
| From | Leo Jay <python.leojay@gmail.com> |
| To | "Steven D'Aprano" <steve@pearwood.info> |
| Content-Type | text/plain; charset=UTF-8 |
| Cc | python-list@python.org |
| X-BeenThere | python-list@python.org |
| X-Mailman-Version | 2.1.15 |
| Precedence | list |
| List-Id | General discussion list for the Python programming language <python-list.python.org> |
| List-Unsubscribe | <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> |
| List-Archive | <http://mail.python.org/pipermail/python-list/> |
| List-Post | <mailto:python-list@python.org> |
| List-Help | <mailto:python-list-request@python.org?subject=help> |
| List-Subscribe | <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.12436.1406726547.18130.python-list@python.org> (permalink) |
| Lines | 46 |
| NNTP-Posting-Host | 2001:888:2000:d::a6 |
| X-Trace | 1406726547 news.xs4all.nl 2921 [2001:888:2000:d::a6]:42826 |
| X-Complaints-To | abuse@xs4all.nl |
| Xref | csiph.com comp.lang.python:75372 |
Show key headers only | View raw
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