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