python - 导入作为符号链接的文件

lee*_*ela 8 python testing import

如果我有文件x.py和y.py.而y.py是x.py的链接(象征性或硬性).

如果我在我的脚本中导入两个模块.它会导入一次还是假设两者都是不同的文件并导入两次.

它究竟做了什么?

Nei*_*eil 11

在脚本本身是符号链接的情况下,您只需要小心,在这种情况下,sys.path的第一个条目将是包含链接目标的目录.


cod*_*ape 9

Python将导入两次.

链接是文件系统概念.对于Python解释器,x.pyy.py是两个不同的模块.

$ 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