问题标签 [jython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1762 浏览

java - Jython 中的随机性

在 Jython 中使用(伪)随机数时,使用 Python random 模块或 Java 的 random 类会更有效吗?

0 投票
2 回答
930 浏览

python - 使用 Jython 处理 Swing 焦点事件

Jython 2.5

我正在尝试将方法绑定到 JText 控件的 focusGained 事件,但我发现的所有示例都是 Java 示例,而不是 Jython。这是代码,我想在每个文本控件获得焦点时运行一个自定义方法(例如,选择所有控件的文本)

0 投票
3 回答
874 浏览

python - 使用 Jython / Swing 重新映射键盘导航

我正在尝试重新映射几个导航键:

  • ENTER:像标准 TAB 行为一样工作(聚焦到下一个控件)
  • SHIFT+ENTER:像 SHIFT+TAB 行为一样工作(聚焦到上一个控件)
  • 向上/向下箭头:上一个/下一个控制
  • ETC

我尝试了几个选项,但没有运气:

0 投票
4 回答
50058 浏览

python - 使用 Jython 将我的 Python 脚本作为 JAR 文件分发?

我做了将近两年的 Python 程序员,我习惯于编写小脚本来自动化一些我必须在办公室完成的重复性任务。现在,显然我的同事注意到了这一点,他们也想要这些脚本。

其中一些有 Mac,一些有 Windows;我在窗户上做的。我调查了使用 py2exe 甚至 py2app 来制作我的脚本的本地人的可能性,但他们从来没有让我满意......

我开始知道他们所有人的系统上都有 JVM,所以我可以使用 Jython 之类的东西给他们一个我的脚本的可执行 JAR 文件吗?

这有多可行……我的意思是,我不知道如何为 Jython 编写脚本,我在编写它们时也不关心它……它会带来什么样的问题?

0 投票
2 回答
2716 浏览

java - 如何从 java 运行多线程 jython 脚本?

我正在用 Java 构建一个框架,它将监听事件,然后在 Jython 中处理它们。不同的事件类型将被发送到不同的脚本。

由于调用 PythonInterpreter.exec() 时 jython 需要相当长的时间来编译脚本,因此我必须预编译脚本。我正在按照以下方式进行操作:

PyCode 编译的对象将被推送到存储库并在事件进入时使用

现在我的难题 - 可能会同时发生多个特定类型的事件 - 因此同时运行多个脚本实例。

几乎所有的脚本都可能保持短暂的生命——最多 100 行,没有循环。数量和频率是完全随机的(用户生成的事件),每个事件类型可能是每秒 0 到大约 200 个。

最好的方法是什么?我正在研究几种可能性:

  1. 在触发事件点使用同步 - 这将防止同一脚本的多个实例,但事件也不会像应有的那样快速处理
  2. 通过克隆原始 PyCode 对象以某种方式填充相同类型的脚本池 - 最大的问题可能是优化池大小
  3. 在需要时从父对象动态克隆脚本对象,然后在 exec() 完成时将其丢弃 - 这样从编译中删除了滞后,但它仍然存在于克隆方法中

数字 2 和 3 的组合可能是最好的 - 创建动态池大小?

那么,有什么想法吗?;)

0 投票
3 回答
944 浏览

jython - Jython(将浮点数组传递给java)有更多的pythonic方式吗?

我正在用 eclipse SWT/JFace 编写 jython 应用程序。我必须将浮点数组传递给 java 对象才能从中取回一些值。我正在使用 jarray 包。有更多的pythonic方法吗?

0 投票
3 回答
669 浏览

scala - Scala 和 Jython 中的中缀运算符

我正在评估面向计算的应用程序的语言,该应用程序需要一种面向最终用户的简单嵌入式脚本语言。我一直在考虑使用 Scala 作为主要的底层语言,使用 Jython 作为脚本接口。Scala 的一个吸引力在于我可以定义诸如:*矩阵对象的元素乘法之类的方法,并将其与中缀语法一起使用a :* b。但是 :* 在 Python 中不是有效的方法名称。Jython 如何处理这个问题?

由于它的灵活性,我会考虑使用 Scala 作为脚本语言。但即使使用类型推断,所有和必需的val类型var定义对于习惯于像 matlab 这样的动态语言的外行用户来说还是太多了。相比之下,Boo 的 option-ducky选项可能会起作用,但我想留在 JVM 而不是 .NET 上。我认为 Scala 没有-ducky

更一般地,考虑以下 DSL(来自http://www.cs.utah.edu/~hal/HBC/)来模拟潜在狄利克雷分配:

对于熟悉分层贝叶斯建模的用户来说,这种语法非常棒(例如与 PyMCMC 相比)。JVM 上是否有任何语言可以很容易地定义这样的语法,并且可以访问像 python 这样的基本脚本语言?

想法赞赏。

0 投票
4 回答
1094 浏览

scala - Scala 或 Jython 中多方法的替代方案

我经常面临想要向我无法控制的类添加其他方法的问题。例如,我可能想要一个prettyPrint可以对没有统一 api 的不同对象类型(例如特殊__str__方法)进行操作的函数。

Nice语言R使用多种方法来实现这一点,很好地避免了访问者模式。例如,R具有plot()功能。个别程序员可以创建新类来定义数据类型(例如,网络图或股票行情数据)。次要用户/程序员然后可以编写绘图函数来填充该功能,即使他们无法访问图形或股票代码或其他绘图函数的代码。

鉴于我想稍后添加很多功能,使用class.method()似乎是不可行的。每种类型的许多class_plot()功能似乎也是一个坏主意。定义一个plot()检查类型的大函数是不可扩展的。

多方法的替代品是什么?特别是,我对可能在 Jython 和 Scala 中工作的设计感兴趣。

0 投票
1 回答
326 浏览

events - 在 Jython 中监听 EventBus

我正在尝试使用Jython 的EventBus。从 Jython 总线发送事件按预期工作,可以从我的 Java 代码中监听它们。但是从 Jython 订阅总线是有问题的。我正在尝试这个:

它给出了以下内容:

我很惊讶第一个论点可能有问题。我的理解是它是一个字符串文字,就像它应该的那样。有任何想法吗?

0 投票
1 回答
370 浏览

python - 扩展 Jython 语法

我想向 Jython 添加语法,以便为用户启用更好的 API。例如,像 NumPy 这样的矩阵库将受益于矩阵和元素操作,比如 Matlab 的:*vs.*中缀运算符。

您可以使用以下方法在 Octave 中创建矩阵:

这比 NumPy 的要好得多:

R使用公式“y ~ x + z”在矩阵/数据框中选择变量。这比替代["y"] ["x","z"]或解析字符串“y ~ x + y”要好得多。

可以使用Easy Extend在 Cython 中实现更复杂的示例。但是 EasyExtend 在 JVM 上不起作用。

向 Jython 添加语法的最简单但相当稳健的方法是什么?如果有一个框架来实现全新的语言结构或在 jython 中定义迷你语言,那就太好了。