文件路径的Python常量[重复]

Posted

技术标签:

【中文标题】文件路径的Python常量[重复]【英文标题】:Python Constants for a file path [duplicate] 【发布时间】:2017-06-16 21:51:42 【问题描述】:

我需要一个文件(数据库)路径的常量,作为 base_directory。我知道python中没有真正的常量。

我是这样设置的:

base_dir = (os.getcwd().rsplit('\\', 2)[0],)

我需要在不同目录/文件夹级别/深度中的多个文件中使用此值。所以我创建了一个带有变量的文件,然后在需要的地方导入文件。

问题是base_dir 不是基于导入文件的位置(路径)计算的,而是基于当前文件的位置。

所以我根据路径深度有不同的路径。

我可以每次更改base_dir 以适应新路径,但我不仅需要重复 var 声明,还需要为每个文件重复很多相关代码。

如何解决这个问题,模拟路径的常量?

【问题讨论】:

【参考方案1】:

无需使用os.getcwd。使用os.path.abspath 获取您的常量文件路径:

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

并使用os.path.join 构建数据库文件的路径:

database_path = os.path.join(file_abs_path, '..', 'path', 'to', 'db)

然后导入常量并访问constants.database_path

【讨论】:

以上是关于文件路径的Python常量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python之旅.第三章.函数4.04

如何获取调用 python 可执行文件的路径 [重复]

python 用于url的Python下载器,如果重复文件具有可选的重复重命名,则输出路径。

根据知道路径的后半部分查找文件[重复]

几个 PHP 的“魔术常量”

17PHP 魔术常量