在brightway2中指定自定义数据目录

时间:2017-10-20 14:12:54

标签: python

虽然在brightway2中指定自定义数据目录不是标准,但有些人可能仍需要这样做。一种方法是将BRIGHTWAY_DIR路径变量设置为此自定义目录(请参阅此处:https://docs.brightwaylca.org/faq.html#setting-brightway2-dir-in-a-virtual-environment),但这需要在执行python脚本之前发生。

所以不要事先设置这样的目录路径(例如Windows): 设置BRIGHTWAY2_DIR = C:/.../ MyDataDirectory

是否还可以在python中设置/更改brightway目录?

1 个答案:

答案 0 :(得分:0)

试试这个:

import os
from brightway2 import projects
from bw2data.project import ProjectDataset, create_database


def switch_directory(dirpath):
    assert os.path.isdir(dirpath)
    projects._base_data_dir = dirpath
    projects._base_logs_dir = os.path.join(dirpath, "logs")
    os.mkdir(projects._base_logs_dir)
    projects.db.close()
    projects.db = create_database(
        os.path.join(projects._base_data_dir, "projects.db"), 
        [ProjectDataset]
    )
    projects.set_current("default")

它使用与test runner基本相同的框架。