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

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

我是这样设置的:

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

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

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

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

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

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

【问题讨论】:

    标签: python python-3.x constants


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 2018-09-29
      • 2012-10-15
      • 2021-03-13
      • 2021-06-25
      • 1970-01-01
      • 2019-11-29
      • 2017-11-28
      • 1970-01-01
      相关资源
      最近更新 更多