标签: jython

Jython图像处理

该程序应该采用图像的轮廓,然后将其分成不同的象限,然后对其进行着色,例如Andy Warhol Marilyn Monroe图片.

直到"Warholize"功能的每个功能都有效,但是在我不知道该怎么做c=getPixel(picEdge,x,y)warholize功能下它会被卡住.任何帮助将不胜感激.它应该做"让c为位于x,y的picEdge中像素的颜色"

def main():
  pic= makePicture( pickAFile() )
  show( pic )
  threshold= 10
  edgePic= makeOutline( pic, threshold )
  warholize(pic)
  show(warholize(pic))

def difference( a, b ):
  if a > b :
    return a - b
  else:
    return b - a

def intensity( px ) :
  r= getRed( px )
  g= getBlue( px )
  b= getGreen( px )
  avg= ( r + g + b ) / 3
  return avg

def makeOutline( pic, threshold ): …
Run Code Online (Sandbox Code Playgroud)

python image-manipulation jython jes

5
推荐指数
1
解决办法
9384
查看次数

编程时使用Jython

我最近开始学习Python并且开始学习Jython这个术语.从Google搜索结果中,我得出结论,这确实是一个非常重要的术语.使用Jython编程/编码的经验是什么?

python jython

5
推荐指数
1
解决办法
754
查看次数

Jython和SAX Parser:不允许超过64000个实体?

xml.sax在一个大型XML文件(800 MB)上对Jython 中的解析器进行了简单的测试,并遇到以下错误:

Traceback (most recent call last):
  File "src/project/xmltools.py", line 92, in <module>
    sys.exit(main())
  File "src/project/xmltools.py", line 87, in main
    parser.parse(open(argv[1], "r"))
  File "/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/drivers2/drv_javasax.py", line 146, in parse
    self._parser.parse(JyInputSourceWrapper(source))
  File "/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/drivers2/drv_javasax.py", line 59, in fatalError
    self._err_handler.fatalError(_wrap_sax_exception(exc))
  File "/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/handler.py", line 38, in fatalError
    raise exception
xml.sax._exceptions.SAXParseException: <unknown>:1:1: The parser has encountered more than "64,000" entity expansions in this document; this is the limit imposed by the application.
Run Code Online (Sandbox Code Playgroud)

这个"应用程序强加的限制"有什么问题?如何覆盖它?

我试图使用Java XML库nu.xom并遇到同样的错误.

python xml sax jython saxparser

5
推荐指数
1
解决办法
1523
查看次数

适用于Android的Jython

我正在测试Jython for Android取自这里http://code.google.com/p/jython-for-android/

不幸的是我在发布期间遇到了问题...我尝试在我的一个项目中导入所有库,并在方法onCreate of my activity中输入以下代码:

  PythonInterpreter interpreter = new PythonInterpreter();
  interpreter.exec("print 'hello from Jython!' ");
Run Code Online (Sandbox Code Playgroud)

这段代码应该可以工作(就像在标准java中一样),但是我得到了这个:

Traceback (innermost last):
 (no code object) at line 0
java.lang.NullPointerException
      at org.python.core.BytecodeLoader.makeCode(BytecodeLoader.java:104)
      at org.python.core.Py.compile_flags(Py.java:1685)
      at org.python.core.Py.compile_flags(Py.java:1698)
      at org.python.core.Py.compile_flags(Py.java:1706)
      at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:135)
      at org.python.util.InteractiveConsole.interact(JythonForAndroidTest.java:29)
Run Code Online (Sandbox Code Playgroud)

我还从repo下载了最后一个版本,但没有任何变化...我将构建目标设置为2.1update ...

可能是什么?任何人都有这个lib的经验吗?

提前谢谢^^

干杯

android jython

5
推荐指数
1
解决办法
4177
查看次数

Android的MonkeyRunner偶尔会抛出异常

我正在使用Android模拟器运行自动化测试,该模拟器使用Python编写的Monkey脚本驱动应用程序.该脚本将文件复制到模拟器上,单击应用程序中的按钮并根据软件在其操作期间触发的活动做出反应.该脚本应该运行几千次循环,所以我循环运行adb工具来复制文件,启动活动,通过调用设备上的getProperty方法来查看软件的反应.参数'am.current.comp.class'.所以这是我的脚本的一个非常简化的版本:

for target in targets:
    androidSDK.copyFile(emulatorName, target, '/mnt/sdcard')

    # Runs the component
    device.startActivity(component='com.myPackage/com.myPackage.myactivity')

    while 1:
        if device.getProperty('am.current.comp.class') == 'com.myPackage.anotheractivity':
            time.sleep(1) # to allow the scree to display the new activity before I click on it
            device.touch(100, 100, 'DOWN_AND_UP')
            # Log the result of the operation somewhere
            break

        time.sleep(0.1)
Run Code Online (Sandbox Code Playgroud)

(androidSDK是我编写的一个小类,包含一些实用程序函数,用于使用adb工具复制和删除文件).

有时,脚本会崩溃,例如(我正在遗漏完整的堆栈跟踪)

[com.android.chimpchat.adb.AdbChimpDevice]com.android.ddmlib.ShellCommandUnresponsiveException
Run Code Online (Sandbox Code Playgroud)

要么

[com.android.chimpchat.adb.AdbChimpDevice] Unable to get variable: am.current.comp.class
[com.android.chimpchat.adb.AdbChimpDevice]java.net.SocketException: Software caused connectionabort: socket write error
Run Code Online (Sandbox Code Playgroud)

我已经读过,有时设备的套接字连接变得不稳定,可能需要重启(adb start-server和adb kill-server非常有用).

我遇到的问题是这些工具抛出Java异常(Monkey在Jython中运行),但我不确定这些是如何从我的Python脚本中捕获的.我希望能够确定脚本内部失败的确切原因并恢复情况,以便我可以继续进行迭代(例如重新建立连接?例如,重新初始化我的设备与另一个调用到MonkeyRunner.waitForConnection就足够了吗?).

有任何想法吗?

非常感谢,Alberto

编辑.我想我已经提到我发现有可能在Jython脚本中捕获特定于Java的异常,如果有人需要这个:

from java.net import SocketException

...

try:
    ... …
Run Code Online (Sandbox Code Playgroud)

python jython android-emulator monkeyrunner

5
推荐指数
1
解决办法
1894
查看次数

在Jython中,我可以创建一个实现Java接口的内联匿名类吗?

在Java中,我可以说

Thread t = new Thread(){
    public void run(){ // do stuff }
}
Run Code Online (Sandbox Code Playgroud)

(或类似的东西)声明一个内联的匿名类.这对于制作事件处理程序或其他回调类型的东西非常有用,在任何合理的语言中,首先不需要对象拥有它们.

我在Jython中面临同样的问题 - 我想定义一个事件处理程序,但我不想构建一个完整的独立类来执行此操作.

理想情况下,我只能传递一个lambda并完成它,但如果这是可能的,我无法在文档中的任何地方找到它.

java jython anonymous-class

5
推荐指数
1
解决办法
984
查看次数

在Jython中导入Python模块,无需修改

在有人开始咆哮之前:

我已经在很多论坛上经历了几个类似的问题,但他们没有有效地回答我的问题.

现在提出一个问题:虽然Java一直是我的首选语言,但过去几周我已经看到我转向Jython以满足我的大部分需求.自问世以来,我的问题实际上分为两个,我很想得到一个明确的答案.

A.可以在jython中按原样导入python模块吗?我在不同的论坛上看过很多这样的问题,但从未见过明确的回答.我想知道Python和Jython是否存在一些可能不允许这样做的基本差异,以及是否可以在没有任何修改的情况下在Jython脚本中导入Python模块.

B.如何在Java中使用Jython类?一个简单的网络搜索显示,曾经有一个传说中的实体被称为jythonc可以将python代码编译为java字节码,但此后它已经灭绝了.从Java访问jython代码的唯一另一种方法是使用JSR 223来编写脚本,ScriptEngine这引发了以下问题:是否仍然可以使用我在Java 中用Jython定义的类?

  • 如果是,那该怎么办呢?例如,如何在Java中扩展一个类(用Jython编写)?
  • 如果不是,那么是否有一些项目(工作或开发中)能够实现这种功能?

python jython jsr223

5
推荐指数
1
解决办法
2605
查看次数

Jython远程调试Intellij Idea,使用Pycharm插件

在将此标记为重复之前,请阅读完整的主题

OS                 - Windows XP
Primary Language   - Java
Scripting Language - Jython
IDE                - Intellij Idea
Python Plugin      - Pycharm
Run Code Online (Sandbox Code Playgroud)

我正在尝试远程调试我在Java中运行的应用程序并使用Jython作为脚本语言.我按照以下链接中提到的步骤
http://www.jetbrains.com/pycharm/webhelp/run-debug-configuration-python-remote-debug.html#commentsSection

  • 我可以启动调试器
  • 当我的应用程序启动时,它能够连接到调试器

然而,我正在低于严重警告 -


pydev调试器:严重警告:这个版本的python似乎被错误编译(内部生成的文件名不是绝对的)
pydev调试器:调试器可能仍然可以运行,但它会工作
得更慢并且可能会错过断点pydev调试器:相关错误:http:/ /bugs.python.org/issue1666807


问题

调试器不会在断点处停止.

我搜索了许多论坛以寻找可能的解决方案 -

  • 删除所有*.pyc文件
  • 重新安装python版本
  • 将python lib文件夹解压缩到本地文件并添加到sys.path

这些都不适合我.

debugging jython intellij-idea pycharm jython-2.5

5
推荐指数
0
解决办法
1707
查看次数

Jython - 使用PyObject的类转换异常

我试图在Jython中创建并转换对象,我收到以下错误:

Exception in thread "MainThread" java.lang.ClassCastException: org.python.core.PySingleton cannot be cast to resources.ixia.IxNetType
at resources.ixia.IxNetFactory.create(IxNetFactory.java:34)
at resources.ixia.IxiaTest.run(IxiaTest.java:34)
at resources.ixia.IxiaTest.<init>(IxiaTest.java:14)
at resources.ixia.IxiaTest.main(IxiaTest.java:42)
Run Code Online (Sandbox Code Playgroud)

这是代码:

import org.python.core.PyObject;
import org.python.util.PythonInterpreter;

public class IxNetFactory {

    private PyObject ixNetClass;
    private PythonInterpreter interpreter;

    public IxNetFactory(String script_dir) {
        script_dir=script_dir.replace("\\", "/");

        interpreter = new PythonInterpreter();

        interpreter.exec("import sys");             
        interpreter.exec("sys.path.append('"+script_dir+"')");
        interpreter.exec("import time");
        interpreter.exec("import os");
        interpreter.exec("from ixnetworks import IxNet");
        //interpreter.exec("from utils import sm");
        //interpreter.exec("from utils import cpf");

        ixNetClass = interpreter.get("IxNet");
    }

    /*
     * Create an IxNet object
     * 
     * Usage: ixNet.create();
     */
    public …
Run Code Online (Sandbox Code Playgroud)

python java jython

5
推荐指数
1
解决办法
634
查看次数

Sikulix / Jython UAC自动化

我想知道在安装程序自动化期间是否有人通过UAC弹出窗口实现自动化?

我有一个现有的自动安装程序代码,但由于Sikuli在此步骤中未使用键盘/鼠标,因此在UAC区域失败。

有人在这里有运气吗?还是在Jython没有办法做到这一点?

谢谢

jython sikuli

5
推荐指数
1
解决办法
297
查看次数