如果我有x.py和y.py文件。 y.py是x.py的链接(符号或硬链接(hard link))。

如果我将两个模块都导入到脚本中。它会一次导入还是假设两者都是不同的文件,然后两次导入。

它到底是做什么的?

最佳答案

Python将其导入两次。

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

$ echo print\“导入\” + __file__> x.py
$ ln -s x.py y.py
$ python -c“导入x;导入y”
导入x.py
导入y.py
$ python -c“导入x;导入y”
导入x.pyc
导入y.pyc
$ ls -F * .py * .pyc
x.py x.pyc y.py @ y.pyc

关于导入符号链接(symbolic link)的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1158108/

10-14 10:50
查看更多