问题标签 [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 投票
3 回答
1256 浏览

python - 是否有用于 Java 的 Groovy/Grails 的 Python 等价物

我在想像 Jython/Jango 这样的东西?这存在吗?还是 Jython 允许您在 Java 中使用 Python 做所有事情,包括 Django(我不确定 Jython 与 Python 有何不同)?

0 投票
1 回答
112 浏览

image - Jython,图像信息

我尝试使用 ImageInfo 和 Jython 从硬盘上的图像中获取信息。

我已经很好地导入了模块,但不断收到此错误:

这是我尝试使用的代码:

谁能指出我做错了什么。

干杯

伊夫

0 投票
3 回答
3277 浏览

java - Java 脚本的安全性(JRuby、Jython、Groovy、BeanShell 等)

我希望运行一些未经验证的脚本(用尚未确定的语言编写,但需要基于 Java,因此 JRuby、Groovy、Jython、BeanShell 等都是候选者)。我希望这些脚本能够做一些事情并限制做其他事情。

通常,我会使用 Java 的 SecurityManager 并完成它。这非常简单,让我可以限制文件和网络访问、关闭 JVM 的能力等。这对于我想要阻止的高级内容非常有效。

但是我想允许一些东西,但只能通过我提供的自定义 API/库。例如,我不想允许直接网络访问打开到 yahoo.com 的 URLConnection,但如果使用 MyURLConnection 完成,我可以。那就是 - 有一组我想要允许的方法/类,然后是我想要禁止的所有其他内容。

我不相信这种类型的安全可以用标准的 Java 安全模型来完成,但也许可以。我对脚本语言本身的性能或灵活性没有特定要求(脚本将是对我的 API 的简单程序调用,具有基本的循环/分支)。因此,即使是对每个反射调用进行安全检查的“大”开销对我来说也是可以的。

建议?

0 投票
4 回答
33724 浏览

classpath - 当我调用 Jython *而不*将它们添加到 $CLASSPATH 时,如何将 jars 添加到类路径中?

我想做类似的事情jython -cp FOO:BAR:BAZ argle.py

如果我添加FOO, ,BAR和这个作品。我试图在运行时将它们添加到,但这似乎不适用于罐子。如果我在运行时添加扩展 jar 的路径,它确实有效。有没有一个简单的替代方法来爆炸 jar 文件?对每个运行此脚本的用户进行增强不是可接受的替代方案。BAZ$CLASSPATHsys.pathsys.path$CLASSPATH

谢谢。

0 投票
1 回答
527 浏览

python - Jython GUI 上的背景图像

我正在尝试在 Jython 中创建一个 GUI。我想导入可以放置按钮和文本字段的背景图像。我已经在适当的位置创建了带有按钮和标签的框架,我只需要知道如何导入背景图像。GUI 在 Jython 中实现。

0 投票
9 回答
77423 浏览

python - 在 python 中通过进程名称获取 PID 的跨平台方法

主机上正在运行多个具有相同名称的进程。使用pythonjython按名称获取这些进程的 PID 的跨平台方法是什么?

  1. 我想要类似pidof但在python中的东西。pidof(反正我没有。)
  2. 我无法解析/proc,因为它可能不可用(在 HP-UX 上)。
  3. 我不想运行os.popen('ps')和解析输出,因为我认为它很难看(不同操作系统中的字段顺序可能不同)。
  4. 目标平台是 Solaris、HP-UX,也许还有其他。
0 投票
2 回答
853 浏览

java - 为什么我不能在导入的模块中使用我的 Jython 类?

我有几个 Jython 模块位于同一目录中。其中之一定义了以下类:

我可以在它自己的模块中实例化和运行这个类。但是,当我将该模块导入另一个 Jython 模块并尝试实例化 MyTask() 时,我收到以下错误:

Runnable.__init__(self) AttributeError: 类 Runnable 没有属性 '__init__'

我在这里做错了什么?为什么此代码在定义我的类的模块中有效,但在我将该类导入另一个模块时无效?(我用“import modulename”而不是“from modulename import MyTask”来导入它)

编辑:对于那些认为问题在于 Runnable 是一个接口,因此没有构造函数的人:我知道这一点,但它并没有完全解释这种情况。问题的关键是我可以在定义它的模块中实例化这个类,但我不能将它导入另一个模块并在那里实例化它。IE,

在 mytask_module 中:

在 other_module 中:

现在你看到混乱了吗?如果问题纯粹是您所描述的,那么前一个示例也应该引发 AttributeError,但事实并非如此。它运行得很好。

编辑#2:显然这在独立脚本中有效,但在我的 Eclipse/Pydev 环境中无效。所以真正的问题是为什么 Pydev 不让我这样做。如果这对他们自己的 Pydev/Eclipse 环境中的任何人都有效,请告诉我。

0 投票
5 回答
1032 浏览

java - 为什么使用 PyStone 进行测试时 Jython 的行为不一致?

我最近一直在玩 Jython,并决定用 pystone 做一些快速而肮脏的基准测试。为了获得参考,我首先测试了 cPython 2.6,循环次数越来越多(我认为这可能是相关的,因为 Jython 应该在一段时间后才开始从 JIT 中获利)。

如您所见,cPython 的行为始终如一:完成测试所需的时间与循环次数成线性增加。知道了这一点,我开始测试 Jython。

在第一次运行中,与它的 C 兄弟相比,Jython 运行得相当糟糕。当增加循环数时,它开始感觉更好,接近 cPython,就像我最初的假设所预测的那样。请注意,循环的数量增加了 10 倍,但 Jython 仅用了大约 5 倍的时间来完成它们。所以,正如你想象的那样,我期待 Jython 会在最终测试中真正发挥作用。然而,令我非常失望的是,它确实很糟糕:比最初的运行速度慢了两倍多。

您的假设是什么:为什么 Jython 的行为方式如此不一致?可能是 GC 在某个时刻开始了,并且花费了很多时间?我查看了 PyStone 的代码,垃圾收集似乎没有被关闭,但我希望 Java 的 GC 至少和 Python 的一样好......你认为这种减速是永久性的,还是会消失在增加循环次数后的某个时候?Jython 在真正长时间运行的进程中应如何表现?

编辑:不幸的是,java.lang.OutOfMemoryError如果我将循环数增加到 200 万,我会得到......

(当然,Jython 仍处于测试阶段,因此在最终版本中应该会变得更好。)

我正在使用 Jython 2.5b1 (trunk:5903:5905, Jan 9 2009, 16:01:29), Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153) 和 Java HotSpot(TM) 64-Bit MacOS X 10.5 上的服务器 VM(内部版本 1.6.0_07-b06-57,混合模式)。

感谢您的回答。

0 投票
3 回答
1540 浏览

java - 使用 JavaSE 的 Jython Netbeans

我想开发一个将 java 与 jython 混合的 Java 应用程序。我正在使用带有 python 插件的 IDE Netbeans。我该怎么做?(有一个对 Groovy 的内置支持,来自 IDE 的 javaSE 从 Java 代码调用 Groovy 类,以及来自 Groovy 代码的 Java 类,但不支持 jython)

参考: http: //www.netbeans.org/features/groovy/index.html

0 投票
4 回答
4812 浏览

python - 重命名文件,Python/Jython

我有一个充满文件的目录,其中一些文件的名称中有一个&符号。我想用&符号重命名所有文件,并用加号(+)替换每个&符号。我正在处理大约 10k 个文件。最好的方法是什么?