私は次のサンプルブロックのコードを持っています。ここでは、ある言語のテキストを別の言語に翻訳しようとしています。私は翻訳したいターゲット言語を表す追加の引数を渡すことができる必要があります。pythonコールバックに追加のパラメータを渡すには?
コールバックの引数のリストに別の引数を追加するにはどうすればいいですか?boltons.iterutils.remap
?
remap
コールでは**kwargs
を使用している可能性がありますが、そうでないと思われます。 TypeErrorが発生します。
raise TypeError('unexpected keyword arguments: %r' % kwargs.keys())
ご協力いただければ幸いです。
import json
from boltons.iterutils import remap
def visit(path, key, value, lang='es'):
if value is None or value == '' or not isinstance(value, str):
return key, value
return key, '{}:{}'.format(lang, value)
if __name__ == '__main__':
test_dict = { 'a': 'This is text', 'b': { 'c': 'This is more text', 'd': 'Another string' }, 'e': [ 'String A', 'String B', 'String C' ], 'f': 13, 'g': True, 'h': 34.4}
print(remap(test_dict, visit=visit, lang='ru'))
この 'boltons.iterutils.remap'にはコールバックに渡す追加パラメータがありますか? – tdelaney