leela leela - 1 year ago 95
Python Question

python - Importing a file that is a symbolic link

If I have files x.py and y.py . And y.py is the link(symbolic or hard) of x.py .

If I import both the modules in my script. Will it import it once or it assumes both are different files and import it twice.

What it does exactly?

Answer Source

Python will import it twice.

A link is a file system concept. To the Python interpreter, x.py and y.py are two different modules.

$ echo print \"importing \" + __file__ > x.py
$ ln -s x.py y.py
$ python -c "import x; import y"
importing x.py
importing y.py
$ python -c "import x; import y"
importing x.pyc
importing y.pyc
$ ls -F *.py *.pyc
x.py  x.pyc  y.py@  y.pyc
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download