python __file__的绝对路径与import的搜索路径
今天执行类型下列代码与预想中有出入
可是执行import却是对的
print os.path.abspath(__file__) #文件不在根文件夹 os.chdir('/') print os.path.abspath(__file__)#与第一次不一样
可是执行import却是对的
test=import__('xx') os.chdir('/') test=import__('xx') reload(test)
原来:
1. abspath在linux下的做法仅仅是:
1.当文件使用相对路径时,把当前文件夹拼接上文件名称。2.使用绝对路径则则什么都不做()
2. 对于import而言,它找模块是从sys.path中開始。与当前位置无关
总结:假设想要使用文件的绝对位置,要在模块最開始的时候直接保存下来。否则兴许的操作切换文件夹后得到的可能是错误。