Удалить метод Brightway, а не просто отменить регистрацию

Я хочу упростить один из своих проектов, удалив лишние методы LCIA.

Я знаю, что могу отменить регистрацию таких методов:

Method(('superfluous', 'method', 'tuple')).deregister()

Но, согласно строкам документации, это «удалит объект из хранилища метаданных. Файлы не удаляются».

В объектах Method отсутствует метод delete, который есть у объектов Database. Есть ли разумный способ удалить методы?


person MPa    schedule 12.10.2018    source источник


Ответы (1)


Удаление всех методов по умолчанию сэкономит около 20 МБ, поэтому обычно об этом не стоит беспокоиться. Чтобы удалить фактические данные, вам нужно будет вручную удалить промежуточный рассол и обработанный массив. Их пути:

import brightway2 as bw
import os
my_method = bw.Method(("some", "method"))
# Intermediate pickle, what gets loaded by my_method.load()
os.path.join(bw.projects.dir, "intermediate", my_method.filename + ".pickle")
# Processed array, used in calculations
my_method.filepath_processed()
person Chris Mutel    schedule 12.10.2018