擅长:python、mysql、java
<p>在Python2.7中,可以执行<code>import bidi.algorithm</code>,但在Python3.3中会失败。实际上,它来自于模块导入方式的改变。请注意,python bidi库上次更新是在2010年。在</p>
<p>参见<a href="http://www.python.org/dev/peps/pep-0328/" rel="nofollow">PEP 328</a>,它也可以追溯到2010年。此PEP解决了以下问题:<em>“在包中导入可能不明确;在包中,不清楚import foo是指包内的模块还是包外的某个模块。(更准确地说,本地模块或包可以直接隐藏另一个挂起的模块或包搜索路径“</em></p>
<p>使用Python3.x中使用的新符号,您可以用“bidi”编写/算法.py“,<code>from .mirror import MIRRORED</code>而不是<code>from mirror import MIRRORED</code>。注意这个点!在</p>
<p>导入可以工作,但是模块比迪算法仍然无法加载,因为其他不兼容。也就是说,在某个时刻,<code>X2_X5_MAPPINGS.keys() + ['BN', 'PDF', 'B']</code>失败了,因为<code>dict.keys()</code>不再返回列表,而是返回一个“dict_keys”对象。在</p>
<p>因此,除非您愿意做一些工作来解决不兼容问题,否则您将无法在python3.x中使用这个包。在</p>
<p>另外,Python2.7也可以理解新的符号<code>from .mirror import MIRRORED</code>,因此应该可以使Python bidi同时兼容python2.x和3.x行。在</p>