我将尝试使用一个名为bidi的Python包。在该包的一个模块algorithm.py中,有一些代码行导致了错误,尽管它是该包的一部分。
以下是这些代码行:
以下是这些代码行:
_LEAST_GREATER_ODD = lambda x: (x + 1) | 1
_LEAST_GREATER_EVEN = lambda x: (x + 2) & ~1
X2_X5_MAPPINGS = {
'RLE': (_LEAST_GREATER_ODD, 'N'),
'LRE': (_LEAST_GREATER_EVEN, 'N'),
'RLO': (_LEAST_GREATER_ODD, 'R'),
'LRO': (_LEAST_GREATER_EVEN, 'L'),
}
# Added 'B' so X6 won't execute in that case and X8 will run its course
X6_IGNORED = X2_X5_MAPPINGS.keys() + ['BN', 'PDF', 'B']
X9_REMOVED = X2_X5_MAPPINGS.keys() + ['BN', 'PDF']
如果我在Python 3中运行代码,会收到以下错误信息:
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
from bidi.algorithm import get_display
File "C:\Python33\lib\site-packages\python_bidi-0.3.4-py3.3.egg\bidi\algorithm.py", line 41, in <module>
X6_IGNORED = X2_X5_MAPPINGS.keys() + ['BN', 'PDF', 'B']
TypeError: unsupported operand type(s) for +: 'dict_keys' and 'list'
虽然这是双向文本处理包的一部分,但为什么会出现这个错误呢?它与我的Python版本有关吗?感谢任何对此的帮助。
字典视图
。 - alko