python - 导入符号链接文件
如果我有两个文件,x.py 和 y.py,而 y.py 是指向 x.py 的一个链接(可以是符号链接或者硬链接)。
如果我在我的脚本中同时导入这两个模块,它会只导入一次,还是会认为这两个文件是不同的,然后导入两次呢?
它到底是怎么做的呢?
2 个回答
13
你只需要在脚本本身是一个符号链接的情况下多加小心。在这种情况下,sys.path的第一个条目将是链接目标所在的目录。
12
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