标签: jython

使用 JSR-223 从 Jython 脚本获取数据

我正在使用 Jython 2.5.1 和 JSR-223(即 javax.script 包),并且我希望返回 Python 脚本的最后一行。例如,评估此脚本后:

class Multiplier:

  def multiply(self, x, y):
    return x * y

Multiplier().multiply(5, 7)
Run Code Online (Sandbox Code Playgroud)

我应该返回 35,但我得到的是 null。另一方面,它与其他测试一起使用:

5 * 7
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

这是 Java 代码:

public static void main(String[] args) throws Exception {
    ScriptEngine engine = new ScriptEngineManager().getEngineByName("python");

    FileReader f = new FileReader("Multiplier.py");
    Object result = engine.eval(f);
    //assert(result == 35);
}
Run Code Online (Sandbox Code Playgroud)

PS:它与 JRuby、Groovy 和 Rhino 一起工作得很好,即总是返回最后一行。

提前致谢。

python java jython jsr223

2
推荐指数
2
解决办法
3739
查看次数

Jython优化

他们有什么方法可以优化Jython而无需求助于分析或显着更改代码?

具体是有没有可以传递给编译器的标志,或紧密循环中的代码提示.

python java optimization jython

2
推荐指数
1
解决办法
613
查看次数

将jar中的python文件捆绑在一起以便通过jython进行访问

在下面的代码中,我只需使用jython从java代码执行test.py.

public static void main(String[] args) {
  org.python.util.PythonInterpreter python = new org.python.util.PythonInterpreter();
  python.execfile("test.py");
  ...
Run Code Online (Sandbox Code Playgroud)

我的问题是test.py需要在运行jar文件的同一目录中.
我需要将这个test.py捆绑在jar中,并且仍然可以使用jython执行它.

如何使用python调用jar文件中的python脚本中建议的方法使用ClassLoader类中的getResourceAsStream方法读取字符串中的脚本对我不起作用,因为我的test.py导入了更多捆绑在jar中的python脚本.

刚接触java和jython我真的很困惑.
任何帮助将受到高度赞赏..!

python java jython jar

2
推荐指数
1
解决办法
2674
查看次数

有关摇摆组件的信息(java)

在学习python(cpython)并使用此页面搜索tkinter 小部件的选项,方法和模式之后,我开始在jython中开发,因为来自java的javax.swing模块可以帮助我创建独立于平台的GUI.

我的问题是:是否有一个像我上面提到的那个页面,它提出了摆动对象的选项和方法?

java user-interface swing jython jcomponent

2
推荐指数
1
解决办法
175
查看次数

NoClassDefFoundError:com/google/common/base /在Jython中导入MonkeyRunner时的谓词

我想使用MonkeyRunner生成MotionEvent(来自屏幕触摸).我已经阅读了http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html上的信息 .

问题是这个jython程序:

from com.android.monkeyrunner import MonkeyRunner

if __name__ == '__main__':
   # Connects to the current device, returning a MonkeyDevice object
   device = MonkeyRunner.waitForConnection()
Run Code Online (Sandbox Code Playgroud)

执行时出现以下错误:

Traceback (most recent call last):
  File "C:\Documents and Settings\jjungb00\python\workspace\monkey\src\runner.py",     line 6, in <module>
    from com.android.monkeyrunner import MonkeyRunner
java.lang.NoClassDefFoundError: com/google/common/base/Predicate

at com.android.monkeyrunner.MonkeyRunner.classDictInit(MonkeyRunner.java:48)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.python.core.PyJavaType.init(PyJavaType.java:534)

at org.python.core.PyType.createType(PyType.java:1264)

at org.python.core.PyType.addFromClass(PyType.java:1201)

at org.python.core.PyType.fromClass(PyType.java:1291)
Run Code Online (Sandbox Code Playgroud)

...跳过一些堆栈跟踪...

Caused by: java.lang.ClassNotFoundException: com.google.common.base.Predicate

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at …
Run Code Online (Sandbox Code Playgroud)

android jython predicate monkeyrunner

2
推荐指数
1
解决办法
7941
查看次数

在WLST(wls12.1.1)中,为什么在引发异常时堆栈跟踪不可用

我创建了一个脚本来执行的东西在联机模式下,为WebLogic Server 12.1.1.

我显然搞砸了一些东西,我想要堆栈跟踪,以便我可以分析出错的地方.

我现在正在做这样的事情:

try:
    connect("user","pass","t3://localhost:7001")
    messThingsUp()
except:
    dumpStack()
    rollback()
Run Code Online (Sandbox Code Playgroud)

而不是堆栈跟踪我得到:"没有堆栈跟踪可用".

请帮忙

谢谢,你们统治!

jython wlst

2
推荐指数
1
解决办法
2607
查看次数

为什么 "\p{L}" 在这个正则表达式中不起作用?

操作系统:Windows 7。Jython 2.7.0“最终版本”。

for token in sorted_cased.keys():
    freq = sorted_cased[ token ]
    if freq > 1:
        print( 'token |%s| unicode? %s' % ( token, isinstance( token, unicode ), ) )
        if re.search( ur'\p{L}+', token ):
            print( '  # cased token |%s| freq %d' % ( token, freq, ))
Run Code Online (Sandbox Code Playgroud)

sorted_cased是一个显示令牌出现频率的字典。这里我试图筛去话,其与频率发生(仅Unicode字符)> 1.(NB我使用了re.match而不是searchsearch应检测在事件1个这样\ p {L} token

示例输出:

token |Management| unicode? True
token |n| unicode? True
token |identifiés| unicode? True
token |décrites| unicode? True
token |agissant| …
Run Code Online (Sandbox Code Playgroud)

python regex unicode jython

2
推荐指数
1
解决办法
2828
查看次数

Python中的字节总是八位字节吗?

可能存在断言失败的Python实现:

assert all(byte in range(256) for byte in any_bytes_object) # Python 3 semantics 
assert all(byte in range(256) for byte in map(ord, any_bytes_object)) # Python 2
Run Code Online (Sandbox Code Playgroud)

POSIX明确指定CHAR_BIT == 8(每字节8位).Python中有类似的保证吗?它在某处记录了吗?

Python 2引用说:"字符代表(至少)8位字节."

如果bytes没有定义name(在旧的Python版本上),例如,在Jython 2.5上,那么问题是关于str类型(bytestrings),即bytes = str在Python 2上.

python pypy jython language-lawyer micropython

2
推荐指数
1
解决办法
818
查看次数

IBM WebSphere Application Server wsadmin 在脚本中仅返回 6 个结果中的第一个结果

当尝试获取 WebSphere Application Server 中应用程序的状态时,我希望有多个返回的 mbean。然而,WAS 只返回第一个结果并丢弃其余的结果。

[wasadmin@servername01 ~]$ Run_wsadmin.sh -f wsadmin_Check_App_Status.py
WASX7209I: Connected to process "dmgr" on node PRDDMGR using SOAP connector;  The type of process is: DeploymentManager
WASX7026W: String "type=Application,name=AMTApp,*" corresponds to 6 different MBeans; returning first one.
Run Code Online (Sandbox Code Playgroud)

我正在运行的脚本如下所示:

app_name = AppName
app_status = AdminControl.completeObjectName('type=Application,name=' + app_name + ',*').split('\n')

for status in app_status :
  print( status )
# end of For status in app_status
Run Code Online (Sandbox Code Playgroud)

WebSphere 中是否有一些设置,或者我是否需要将一些特殊的库导入到我的脚本中?

python websphere jython

2
推荐指数
1
解决办法
1410
查看次数

解决基本乘法的递归

我应该编写一个函数来查找给定数量的狗需要的鞋子数量。它可以很容易地用乘法来完成,但我们需要使用递归,所以我有

def dogShoes(n):
    total = 0
    if n>0:
        shoes =   n + dogShoes(n)
        total = total + 1
        if total == 4:
            return shoes
Run Code Online (Sandbox Code Playgroud)

但我现在意识到第 4 行将走向无穷大,而我认为会阻止它的底部甚至不会实现。有没有办法说 when totalis 4,停止并返回答案而不shoes走向无穷大?

python recursion jython multiplication

2
推荐指数
1
解决办法
870
查看次数