删除一个 brightway 方法,而不仅仅是注销

Delete a brightway method, not just deregister

我希望通过删除多余的 LCIA 方法来简化我的一个项目。

我知道我可以注销这样的方法:

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

但是根据文档字符串,这将 "Remove an object from the metadata store. Does not delete any files."

Method 对象缺少 delete 方法,就像 Database 对象所具有的那样。 有没有明智的方法来删除方法?

删除所有默认方法只会节省大约 20 MB,因此通常不值得担心。要删除实际数据,您需要手动删除中间 pickle 和处理后的数组。他们的路径是:

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()