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