问题标签 [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.
python - 是否有用于 Java 的 Groovy/Grails 的 Python 等价物
我在想像 Jython/Jango 这样的东西?这存在吗?还是 Jython 允许您在 Java 中使用 Python 做所有事情,包括 Django(我不确定 Jython 与 Python 有何不同)?
image - Jython,图像信息
我尝试使用 ImageInfo 和 Jython 从硬盘上的图像中获取信息。
我已经很好地导入了模块,但不断收到此错误:
这是我尝试使用的代码:
谁能指出我做错了什么。
干杯
伊夫
java - Java 脚本的安全性(JRuby、Jython、Groovy、BeanShell 等)
我希望运行一些未经验证的脚本(用尚未确定的语言编写,但需要基于 Java,因此 JRuby、Groovy、Jython、BeanShell 等都是候选者)。我希望这些脚本能够做一些事情并限制做其他事情。
通常,我会使用 Java 的 SecurityManager 并完成它。这非常简单,让我可以限制文件和网络访问、关闭 JVM 的能力等。这对于我想要阻止的高级内容非常有效。
但是我想允许一些东西,但只能通过我提供的自定义 API/库。例如,我不想允许直接网络访问打开到 yahoo.com 的 URLConnection,但如果使用 MyURLConnection 完成,我可以。那就是 - 有一组我想要允许的方法/类,然后是我想要禁止的所有其他内容。
我不相信这种类型的安全可以用标准的 Java 安全模型来完成,但也许可以。我对脚本语言本身的性能或灵活性没有特定要求(脚本将是对我的 API 的简单程序调用,具有基本的循环/分支)。因此,即使是对每个反射调用进行安全检查的“大”开销对我来说也是可以的。
建议?
classpath - 当我调用 Jython *而不*将它们添加到 $CLASSPATH 时,如何将 jars 添加到类路径中?
我想做类似的事情jython -cp FOO:BAR:BAZ argle.py
。
如果我添加FOO
, ,BAR
和这个作品。我试图在运行时将它们添加到,但这似乎不适用于罐子。如果我在运行时添加扩展 jar 的路径,它确实有效。有没有一个简单的替代方法来爆炸 jar 文件?对每个运行此脚本的用户进行增强不是可接受的替代方案。BAZ
$CLASSPATH
sys.path
sys.path
$CLASSPATH
谢谢。
python - Jython GUI 上的背景图像
我正在尝试在 Jython 中创建一个 GUI。我想导入可以放置按钮和文本字段的背景图像。我已经在适当的位置创建了带有按钮和标签的框架,我只需要知道如何导入背景图像。GUI 在 Jython 中实现。
python - 在 python 中通过进程名称获取 PID 的跨平台方法
主机上正在运行多个具有相同名称的进程。使用python或jython按名称获取这些进程的 PID 的跨平台方法是什么?
- 我想要类似
pidof
但在python中的东西。pidof
(反正我没有。) - 我无法解析
/proc
,因为它可能不可用(在 HP-UX 上)。 - 我不想运行
os.popen('ps')
和解析输出,因为我认为它很难看(不同操作系统中的字段顺序可能不同)。 - 目标平台是 Solaris、HP-UX,也许还有其他。
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 环境中的任何人都有效,请告诉我。
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,混合模式)。
感谢您的回答。
java - 使用 JavaSE 的 Jython Netbeans
我想开发一个将 java 与 jython 混合的 Java 应用程序。我正在使用带有 python 插件的 IDE Netbeans。我该怎么做?(有一个对 Groovy 的内置支持,来自 IDE 的 javaSE 从 Java 代码调用 Groovy 类,以及来自 Groovy 代码的 Java 类,但不支持 jython)
python - 重命名文件,Python/Jython
我有一个充满文件的目录,其中一些文件的名称中有一个&符号。我想用&符号重命名所有文件,并用加号(+)替换每个&符号。我正在处理大约 10k 个文件。最好的方法是什么?