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

对于另一个简单的测试,我制作了这个代码(文件名是test3.py),并将其放在/ home/ckim/python/test3目录中。为什么os.path.dirname返回/ usr/local/bin而不是python脚本的路径?

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。问题是什么?

回答:

使用os.path.realpath以及使其工作:

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

os.getcwd()也可能会解决你的问题。

以上是 为什么os.path.dirname返回/ usr/local/bin而不是python脚本的路径? 的全部内容, 来源链接: utcz.com/qa/264705.html

回到顶部