我(我希望是)一个非常简单的问题。
我想在python脚本中使用一些javax.crypto类,所以能够做类似的事情:
from javax.crypto import Cipher
cipher = Cipher.getInstance('AES/CTR/NoPadding')
但是我不熟悉如何做到这一点让python能够识别java包,当然python当然只是说:
ImportError:没有名为的模块 javax.crypto中
只是将一些变量添加到$ PYTHONPATH还是完全错误?
非常感谢, 克里斯
答案 0 :(得分:2)
这是完全错误的。 Python和Java是不同的语言,你正在使用的实现CPython有自己的VM。如果您想要桥接两者,请使用Jython。
答案 1 :(得分:1)
在jython下,您使用您描述的语法。当从一些.py代码转换为java时,jython会自动转换基本类型(字符串,整数,浮点数)。如果你想处理你自己的对象,你必须开始编写接口包装器。
C:\>SET PATH=C:\jython2.5.2\bin;%PATH%
C:\>jython
Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06)
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_24
Type "help", "copyright", "credits" or "license" for more information.
>>> from javax.crypto import Cipher
>>> cipher = Cipher.getInstance('AES/CTR/NoPadding')
>>> cipher
javax.crypto.Cipher@1296d1d
>>>