Where is the c source code of the import mechanism that ignores invalid directory?
Mark Lawrence
breamoreboy at yahoo.co.uk
Tue Jul 21 12:16:27 EDT 2015
On 21/07/2015 16:35, Shiyao Ma wrote:
> Hi,
>
> It looks to me that the import system of Python will ignore invalid
> directories and cache the result in memory.
>
> For example, the following code:
> paste here: https://bpaste.net/show/b144deb42620
>
> #!/usr/bin/env python3
>
> import sys
> import os
> import shutil
>
> sys.path.append("./test")
> shutil.rmtree("./test", ignore_errors=True)
>
> try:
> import foo
> except ImportError:
> os.mkdir("./test")
> with open("./test/foo.py", "w") as f:
> f.write("print(3)")
>
> import foo
>
> the second import foo will fail even though it's there. This is because
> when doing the first import foo, the directory .test doesn't exist, and
> Python ignores that directory forever.
>
>
> I am interested in the c side implementation of this "ignoring" part.
>
>
> Any body help me to pinpoint the exact c source location?
>
> Thanks.
>
> --
>
> 吾輩は猫である。ホームーページはhttps://introo.me <http://introo.me>。
>
Start here https://hg.python.org/cpython/file/6629773fef63/Python/import.c
--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
Mark Lawrence
More information about the Python-list
mailing list