【发布时间】:2014-05-09 03:44:44
【问题描述】:
我正在尝试创建一些帮助函数,这些函数将为我提供一个基于相对路径的文件夹:
def get_BASE_dir_path():
cur_dir = os.path.dirname(os.path.abspath(__file__))
BASE = os.path.abspath(os.path.join(cur_dir,"..",".."))
return BASE
def get_src_dir_path():
BASE = get_BASE_dir_path()
src_dir = os.path.abspath(os.path.join(BASE,"src"))
return src_dir
def get_lib_dir_path():
BASE = get_BASE_dir_path()
lib_dir = os.path.dirname(os.path.join(BASE,"src","lib"))
return lib_dir
def get_ffmpeg_dir_path():
BASE = get_BASE_dir_path()
ffmpeg_dir= os.path.dirname(os.path.join(BASE,"src","lib","ffmpeg"))
return ffmpeg_dir
但是,不知何故,当我打印函数时,我没有得到正确的结果:
输出:
C:\dev\project
C:\dev\project\src
C:\dev\project\src
C:\dev\project\src\lib
我错过了什么?
【问题讨论】:
-
那么相对于
dev\project的预期 路径是什么?包含这些函数的文件在哪里? -
您发布的代码没有输出任何内容...同时避免使用
'..'表示父目录,因为它不可移植。请改用os.path.pardir。 -
您的
get_lib_dir_path和get_ffmpeg_dir_path返回目录名称,因此分别为'c:\\dev\\project\\src'和'c:\\dev\\project\\src\\lib';你在那里使用了错误的函数名。 -
在最后两个中,而不是获取基本目录,而是获取
src目录并简单地加入附加值。