生成样本项目配置

时间:2018-07-29 01:13:07

标签: python python-3.x configuration configuration-files

我正在处理一个包含cli组件的软件包,您可以从中开始一个新项目。这个新创建的项目将严重依赖于各种配置,泊坞窗和其他文件。我想要一个cli命令,例如myproject init,它可以创建一个新目录并在其中复制各种文件,从而使用户的生活更加轻松。

现在,项目本身是可pip安装的,因此我添加到项目中的每个文件都将位于site-packages目录中的某个位置。将这些示例配置文件添加到项目中似乎不是一个好选择,因为找到它们的位置很难。

到目前为止,我发现的最佳解决方案是将配置作为字符串添加到python文件中:

INIT_FILE_MODEL_TEMPLATE = """---
version: 1

kind: experiment

logging:
  level: INFO

model:
  # set you model
"""

,然后在调用init命令时将其转储到实际文件中。

有没有更好的选择来解决这个问题?

1 个答案:

答案 0 :(得分:0)

临时解决方案,直到出现更好的解决方案为止:

  1. 在某个目录project/project_template

  2. 下的软件包中包含所有配置文件
  3. 使用include_package_data=True方法中的setup()运送包裹

  4. 使用pkgutil.get_data获取这些文件的内容:

    import pkgutil
    data = pkgutil.get_data('project', 'project_template/config.dat')
    
  5. 创建新目录并将感兴趣的文件复制到新创建的目录