在docs,人們可以改爲:
Brightway2識別一個活動或與幾個屬性的MD5哈希流:對於的ecoinvent 2,名稱,位置,單位,和類別。對於ecoinvent 3,活動和參考產品名稱。
當潛水的bw2io
代碼雖然(特別是utils),我們看到這實際上不是確切:萊威生成唯一碼作爲的ecoinvent的UUID爲活動和參考流的MD5哈希:
In [1] import brightway2 as bw
import hashlib
act = bw.Database('ecoinvent 3.3 cutoff').random()
act['code']
Out[1] '965e4a277c353bd2ed8250b49c0e24ef'
In [2] act['activity'], act['flow']
Out[2] ('ff086b85-84bf-4e44-b60e-194c0ac7f7cf',
'45fbbc41-7ae9-46cc-bb31-abfa11e69de0')
In [3] string = u"".join((act['activity'].lower(), act['flow'].lower()))
string
Out[3] 'ff086b85-84bf-4e44-b60e-194c0ac7f7cf45fbbc41-7ae9-46cc-bb31-abfa11e69de0'
In [4] str(hashlib.md5(string.encode('utf-8')).hexdigest())
Out[4] '965e4a277c353bd2ed8250b49c0e24ef'
In [5] act['code'] == str(hashlib.md5(string.encode('utf-8')).hexdigest())
Out[5] True
注意,這意味着你已經通知你的活動數據集的activity
和flow
領域。您可以使用uuid
庫生成這些文件。您也可以決定在MD5散列中使用其他字段(例如,文檔暗示的活動名稱和參考流程名稱)。
來源
2017-08-10 13:26:17
MPa
感謝@MPa!活動和流場代表什麼?我試圖在我的交換工作室和活動數據庫中找到隨機活動的代碼,但找不到它們。在[模式]的文件(https://docs.brightwaylca.org/intro.html?highlight=schema)不談論這些領域(我想這是的ecoinvent特定太)。或者更簡單地說,我應該如何使用uuid庫生成它們? – Nabla
它們是使用的ecoinvent的唯一代碼,請參閱活動概覽文件[這裏](http://www.ecoinvent.org/support/documents-and-files/information-on-ecoinvent-3/information-on-ecoinvent -3.html)。我不確定UUID是如何創建的。你可以使用一些領域(如活動中,你可以使用活動名稱,地點,開始日期和結束日期),將它們連接爲一個大字符串和使用'uuid.uuid5(uuid.NAMESPACE_DNS,your_string)'來生成UUID 。你可以自由地做你想做的事情,只要確保你提供給函數的字符串是唯一的。 – MPa