【发布时间】:2017-05-10 16:07:47
【问题描述】:
我有以下示例代码块,我正在尝试将文本从一种语言翻译成另一种语言。我需要能够传入一个附加参数,该参数代表我要翻译成的目标语言。
如何在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是否有额外的参数传递给回调?
标签: python python-3.x