W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
項目加載器上下文是任意鍵/值的dict,在項目加載器中的所有輸入和輸出處理器之間共享。它可以在聲明、實例化或使用項加載器時傳遞。它們用于修改輸入/輸出處理器的行為。
例如,假設(shè)您有一個函數(shù) ?parse_length
? 它接收文本值并從中提取長度:
def parse_length(text, loader_context):
unit = loader_context.get('unit', 'm')
# ... length parsing code goes here ...
return parsed_length
接受一個 ?loader_context
? 參數(shù)函數(shù)顯式地告訴項目加載器它能夠接收項目加載器上下文,因此項目加載器在調(diào)用它時傳遞當(dāng)前活動的上下文,以及處理器函數(shù) (?parse_length
? 在這種情況下)可以使用它們。
修改項目加載器上下文值有幾種方法:
1、通過修改當(dāng)前活動的項加載器上下文 (?context? 屬性):
loader = ItemLoader(product) loader.context['unit'] = 'cm'
2、項目加載器實例化(項目加載器的關(guān)鍵字參數(shù) __init__ 方法存儲在項加載器上下文中):
loader = ItemLoader(product, unit='cm')
3、在項目加載器聲明中,用于那些支持用項目加載器上下文實例化它們的輸入/輸出處理器。 MapCompose 是其中之一:
class ProductLoader(ItemLoader): length_out = MapCompose(parse_length, unit='cm')
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: