ROOT_DIR定义似乎会有所不同,具体取决于在哪里调用Python os库

问题描述

我有一个definitions.py文件,里面只有这个:

import os

ROOT_DIR = os.path.dirname(os.path.abspath(__file__))

目的是仅跟踪项目的根目录,以便我可以在项目的各个位置使用它而无需重新键入它。我还认为,如果将项目克隆到其他位置,可能会有所帮助...

但是,当我将此ROOT_DIR变量导入另一个文件并创建以下两个打印语句时:

 from definitions import ROOT_DIR
 print(ROOT_DIR)
 print(os.path.join(ROOT_DIR,'/resampled/high_pitch.wav'))

我发现一些看起来不正确的东西:

C:\Users\wesle\PycharmProjects\who-said-what
C:/resampled/high_pitch.wav

预期输出为:

C:\Users\wesle\PycharmProjects\who-said-what\resampled\high_pitch.wav

我认为这可能与文档中的这一点有关:

在Windows上,绝对路径下的驱动器号不会重置 组件(例如r'\ foo')。如果组件包含 驱动器号,所有先前的组件都被丢弃,驱动器 字母被重置。请注意,由于每个目录都有一个当前目录 驱动器os.path.join(“ c:”,“ foo”)代表相对于 驱动器C:(c:foo)上的当前目录,而不是c:\ foo。

但是这种解释非常复杂,很难分辨它是否与我的问题有关。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...