[Python-ideas] Allow from foo import bar*
Guido van Rossum
guido at python.org
Thu Oct 3 19:16:37 CEST 2013
Hm. Why not just use "import socket" and then use "socket.AF_<whatever>"?
On Thu, Oct 3, 2013 at 10:09 AM, Giampaolo Rodola' <g.rodola at gmail.com>wrote:
> I suppose this has already been proposed in past but couldn't find
> any online reference so here goes.
> When it comes to module constant imports I usually like being explicit
> it's OK with me as long as I have to do:
>
> >>> from resource import (RLIMIT_CORE, RLIMIT_CPU, RLIMIT_FSIZE)
>
> Nevertheless in case the existence of certain constants depends on the
> platform in use I end up doing:
>
> >>> if hasattr(resource, "RLIMIT_MSGQUEUE"): # linux only
> .... import resource.RLIMIT_MSGQUEUE
> ....
> >>> if hasattr(resource, "RLIMIT_NICE"): # linux only
> .... import resource.RLIMIT_NICE
> ....
>
>
> ...or worse, if for simplicity I'm willing to simply import all RLIMIT_*
> constants I'll have to do this:
>
> >>> import resource
> >>> import sys
> >>> for name in dir(resource):
> .... if name.startswith('RLIMIT_'):
> .... setattr(sys.modules[__name__], name, getattr(resource, name))
>
> ...or just give up and use:
>
> from resource import *
>
> ...which of course will pollute the namespace with unnecessary stuff.
> So why not just allow "from resource import RLIMIT_*" syntax?
> Another interesting variation might be:
>
>
> >>> from socket import AF_*, SOCK_*
> >>> AF_INET, AF_INET6, SOCK_STREAM, SOCK_DGRAM
> (2, 10, 1, 2)
>
>
> On the other hand mixing "*" and "common" imports would be forbidden:
>
> >>> from socket import AF_*, socket,
> File "<stdin>", line 1
> from socket import AF_*, socket
> ^
> SyntaxError: invalid syntax;
>
>
> Thoughts?
>
>
> --- Giampaolo
> https://code.google.com/p/pyftpdlib/
> https://code.google.com/p/psutil/
> https://code.google.com/p/pysendfile/
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
>
>
--
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20131003/7f95935b/attachment.html>
More information about the Python-ideas
mailing list