如果我有x.py和y.py文件。而y.py是x.py的链接(象征性或硬性)。
如果我在我的脚本中导入两个模块。它会导入一次还是假设两者都是不同的文件并导入两次。
它究竟做了什么?
答案 0 :(得分:10)
在脚本本身是符号链接的情况下,您必须要小心,在这种情况下,sys.path的第一个条目将是包含链接目标的目录。
答案 1 :(得分:9)
Python将导入两次。
链接是文件系统概念。对于Python解释器,x.py
和y.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