[Python-Dev] Re: Draft: PEP for imports

Paul Moore pf_moore at yahoo.co.uk
Mon Feb 2 14:06:14 EST 2004


Chris Reedy <chrisandannreedy at comcast.net> writes:

> Thinking about the semantics of the above, including corner cases, I
> find myself wanting to make the semantics of:
>
>   <some_kind_of_import_statement> in "<path>"
>
> to be equivalent to:
>
>   sys.path.insert(0, "<path>")
>   <some_kind_of_import_statement>
>   del sys.path[0] # assuming the import doesn't modify sys.path

This seems to me to be another example of the sort of setup/teardown
idiom that PEP 310 was designed for:

    with path_entry("<path">):
        import whatever

Here, we have

    class path_entry
        def __init(self, path):
            self.path = path
        def __enter__(self):
            sys.path.insert(0, path)
        def __exit__(self):
            del sys.path[0]

... and of course, path_entry might be a suitable candidate for some
sort of standard library module of useful "with" idioms.

Hmm, maybe it's time to look at PEP 310 again.

Paul
-- 
This signature intentionally left blank




More information about the Python-Dev mailing list