为什么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