Python文件路径的常量

Python Constants for a file path

本问题已经有最佳答案,请猛点这里访问。

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

我这样设定:

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

我需要在多个文件、不同目录/文件夹级别/深度中使用该值。所以我创建了一个包含变量的文件,并在需要的地方导入该文件。

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

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

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

如何固定,模拟路径的常量?


不需要使用os.getcwd。使用os.path.abspath获取常量文件路径:

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

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

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

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