为什么os.path.dirname返回/ usr / local / bin而不是python脚本的路径?

时间:2016-08-25 01:09:32

标签: python

对于另一个简单的测试,我制作了这段代码(文件名是test3.py),然后我放入/ home / ckim / python / test3目录。

import os.path as osp
import sys

def add_path(path):
    if path not in sys.path:
        sys.path.insert(0, path)

this_dir = osp.dirname(__file__)

lib_path = osp.join(this_dir, 'lib')
add_path(lib_path)

from pack1.ppp import ppp

if __name__ == '__main__':
    print ('starting main..')
    ppp()

当我运行代码时,this_dir值会在我预期为/usr/local/dir时给出/home/ckim/python/test3。有什么问题?

1 个答案:

答案 0 :(得分:0)

使用os.path.realpath也可以使其正常工作:

this_dir = osp.dirname(osp.realpath(__file__))

os.getcwd()也可以解决您的问题。