【问题标题】:Python enum to hold file pathsPython枚举来保存文件路径
【发布时间】:2021-10-25 13:21:12
【问题描述】:

我必须在我的项目中处理一堆文件夹/文件路径。当我在项目中多次使用它们时,我选择将它们存储在变量中。所以,如果需要更改路径,我只需要更改变量值即可。

我目前将 pathlib.Path 对象存储在枚举中,如下例所示。

from pathlib import Path
from enum import Enum

class Paths(Enum):
    CONTENTS = Path('path/to/contents/')

    FOLDER_IN_CONTENTS = CONTENTS / 'some_folder'

    IMAGES = Path('path/to/images')

    FILE_IN_IMAGES = IMAGES / 'some_file'

有些事情告诉我,这不是枚举类的好用处,尽管我无法真正解释原因(可能是因为我从未见过这样的事情)。如果是这样,存储这些文件/文件夹路径的最佳方式是什么?

【问题讨论】:

  • 我认为这种方法本身没有问题。来自PEP 435枚举的属性可用于定义一组不可变的、相关的常量值,这些常量值可能具有语义含义,也可能不具有语义含义。这在一定程度上取决于您如何使用您的项目。您还可以将值存储在 config/JSON 文件中,然后读取文件并将值分配给变量。

标签: python enums path


【解决方案1】:

好的做法是将路径存储在配置文件中。然后,当任何路径更改时,您不必更改任何代码,如果您打算共享您的项目,这很好。 YAML 通常用于此目的。

不过,您的解决方案本身并没有错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-27
    • 2020-12-20
    • 2012-09-02
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多