Python文件路径的常量

时间:2017-01-31 12:43:28

标签: python python-3.x constants

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

我这样设置:

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

我需要在多个文件中,在不同的目录/文件夹级别/深度中使用此值。所以我创建了一个包含变量的文件,然后将文件导入到需要的位置。

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

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

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

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

1 个答案:

答案 0 :(得分: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