python __file__的绝对路径与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中開始。与当前位置无关


总结:假设想要使用文件的绝对位置,要在模块最開始的时候直接保存下来。否则兴许的操作切换文件夹后得到的可能是错误。

posted @ 2017-05-14 10:32  jzdwajue  阅读(135)  评论(0编辑  收藏  举报