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

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to