构建程序xiaojie_test.py
import os from xxx.yyy import test test()
同目录下构建一个目录xxx,并且目录中有/tmp/results/graph文件
xxx中的yyy.py文件中内容是:
import os def test(): if os.path.exists('tmp/result/graph'): print ('yes') else: print ('no') test()
执行xiaojie_test.py的结果是:
no
no
输出两次no的原因是:
from xxx.yyy import test
会因为加载yyy文件,而执行yyy文件中的test。同时,xiaojie_test.py中也执行test。
执行yyy.py的结果是:
yes
结论:
相对寻址并不是相对于相对地址所在程序的目录,而是相对于相对地址所在程序被某个程序x调用时,x所在的目录。
如果这一点被混淆,很容易导致出错。