Удалить метод Brightway, а не просто отменить регистрацию - PullRequest
0 голосов
/ 12 октября 2018

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

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

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

Но в соответствии со строками документов это приведет к «удалению объекта из хранилища метаданных. Не удаляет файлы».

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

1 Ответ

0 голосов
/ 12 октября 2018

Удаление всех методов по умолчанию сэкономило бы только около 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()
...