我正在尝试运行此处发布的 jython sqlite 示例。
################################################################################
#
# sqlite_using_ziclix - An example of using the Python DB-API 2.0 compliant
# ziclix implementation to interact with a SQLite database.
# Creates a 'planet' table in a SQLite database
# named 'solarsys.db', populates it with some data and
# then executes a query to retrieve data from that table.
#
# Works with Jython 2.5, must have the zentus sqlitejdbc.jar in your
# CLASSPATH at execution time.
# Known to work with …Run Code Online (Sandbox Code Playgroud) 如果这个问题措辞不当,请见谅:我正在着手一个大规模的机器学习项目,我不喜欢用 Java 编程。我喜欢用 Python 编写程序。我听说过关于猪的好消息。我想知道是否有人可以向我澄清 Pig 与 Python 结合用于数学相关工作的可用性。另外,如果我要编写“流式 python 代码”,Jython 会出现吗?如果它确实出现在图片中是否更有效?
谢谢
PS:出于几个原因,我不喜欢按原样使用 Mahout 的代码。我可能想使用他们的一些数据结构:知道这是否可行会很有用。
我一直在尝试运行一个 jython 脚本,该脚本安装一个包并打开一个活动,然后拍摄其屏幕截图,最后将其保存在文件中。我正在使用以下代码来执行此操作:
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection()
device.installPackage('F:\jind\Example.apk')
package= 'com.android.example'
activity= 'com.android.example.main_activity'
runComponent= package + '/' + activity
device.startActivity(component=runComponent)
device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP)
result=device.takeSnapshot()
result.writeToFile('F:\jind\lk.png','png')
Run Code Online (Sandbox Code Playgroud)
运行脚本后。writeToFile() 给出错误,表示“输入‘结果’不匹配”,期望 RPAREN
提前致谢
我正在尝试将我自己的 java 类导入到一些 jython 代码中。我将我的 .java 编译为一个 .class 文件并将 .class 文件放入一个 .jar 中。然后我使用 -Dpython.path="path/to/jar/my.jar" 包含这个 .jar 文件。到目前为止一切顺利,启动我的程序时没有抱怨。
但是,当我到达使用我的 java 类的代码部分时,它似乎在我的 java 类中找不到任何函数。我得到以下信息 AttributeError:
AttributeError: 'pos.Test' object has no attribute 'getName'
Run Code Online (Sandbox Code Playgroud)
我们欢迎所有的建议!(下面的代码示例。)
爪哇代码:
package pos;
class Test{
private String name;
public Test(){
name = "TEST";
System.out.println( "Name = " + name );
}
public String getName(){
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
Jython 代码片段:
import pos.Test
...
test = pos.Test()
print 'Name = ', test.getName()
Run Code Online (Sandbox Code Playgroud) 在我的工作场所,有一台功能强大的共享 24 核服务器,我们在该服务器上运行我们的工作。为了充分利用多核 CPU 的能力,我编写了一个长时间运行的程序的多线程版本,以便每个核心上同时运行 24 个线程(通过threading中的库Jython)。
如果没有其他作业运行,该程序运行速度很快。但是,我在一个核心上同时运行一项大型作业,因此在该特定核心上运行的线程花费了很长时间,从而减慢了整个程序(因为线程需要在最后加入数据)。然而,其他 CPU 上的线程早已完成执行 - 所以我基本上有 23 个核心空闲,1 个核心运行线程和繁重的工作,或者至少这是我的诊断。通过查看time命令的输出进一步证实了这一点,与用户时间相比,系统时间非常低(这意味着有很多等待)。
Linux如果一个 CPU 已加载而其他 CPU 空闲,操作系统(在本例中)是否不会将作业切换到不同的 CPU?如果没有,我可以在我的程序中这样做吗(在Jython)。偶尔查询一下不同的CPU负载,然后切换到相对空闲的CPU负载应该不难。
谢谢。
我正在尝试使用 Java 中的 Jython Standalone jar 安装 Python 库。
我的代码似乎将 PIP 7.1.2 安装在独立 jar 旁边的文件夹中,但是一旦我尝试使用 PIP 升级自身,它就会因 ZipImportError 而失败。
错误消息似乎抱怨无法打开 PIP 轮文件,但日志似乎显示它已经可以打开几次了。
import org.python.util.PythonInterpreter;
public class PipInstaller{
public void installPip(){
PythonInterpreter python = new PythonInterpreter();
runEnsurePip(python);
upgradePip(python);
python.close();
}
private void runEnsurePip(PythonInterpreter python){
StringBuilder script = new StringBuilder();
script.append("import ensurepip\n");
script.append("ensurepip._main()");
python.exec(script.toString());
}
private void upgradePip(PythonInterpreter python){
StringBuilder script = new StringBuilder();
script.append("import pip\n");
script.append("pip.main(['install', '--upgrade', 'pip'])");
python.exec(script.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
这些是堆栈跟踪的最后几行:
File "/tmp/tmpnmI49K/pip-7.1.2-py2.py3-none-any.whl/pip/_vendor/html5lib/html5parser.py", line 27, in parse
File "/tmp/tmpnmI49K/pip-7.1.2-py2.py3-none-any.whl/pip/_vendor/html5lib/treebuilders/__init__.py", line …Run Code Online (Sandbox Code Playgroud) 我曾尝试将 PyDev 扩展用于 VS Code。我打算将 vs 代码用于 Jython。但是,我得到了这个
from java.util import Date
Run Code Online (Sandbox Code Playgroud)
日期显示 Vs 代码中未解决的错误。任何人都可以指导我如何在 Vs Code 中设置 Jython?
我正在尝试对 PI (3.14159) 投掷飞镖的蒙特卡罗计算进行基准测试。我已经用 Java、Groovy、BeanShell、Julia、Jython 和 Python(用 C 实现的 Python2)实现了我的代码。
这是我的原始 Java 代码“MonteCarloPI.java”:
import java.util.Random;
public class MonteCarloPI {
public static void main(String[] args)
{
int nThrows = 0;
int nSuccess = 0;
double x, y;
long then = System.nanoTime();
int events=(int)1e8;
Random r = new Random();
for (int i = 0; i < events; i++) {
x = r.nextFloat(); // Throw a dart
y = r.nextFloat();
nThrows++;
if ( x*x + y*y <= 1 ) nSuccess++;
}
double itime …Run Code Online (Sandbox Code Playgroud) 我发现这是从 java 运行(使用 exec() 方法)python 脚本的方法之一。我在 python 文件中有一个简单的打印语句。但是,我的程序在运行时什么也没做。它既不打印用 python 文件编写的语句也不抛出异常。该程序只是终止什么都不做:
Process p = Runtime.getRuntime().exec("C:\\Python\\Python36-32\\python.exe C:\\test2.py");
Run Code Online (Sandbox Code Playgroud)
即使这不是创建输出文件:
Process p = Runtime.getRuntime().exec("C:\\Python\\Python36-32\\python.exe C:\\test2.py output.txt 2>&1");
Run Code Online (Sandbox Code Playgroud)
问题是什么?
我在 Jython 中创建了一个 javaFX 选择器文件。从 Java 移植到 Jython 并不容易,但最终还是有一些结果。现在我想参数化获得的类,考虑到文件过滤器,以便能够使用对象来浏览不同于过滤文件类型的对象。
我试图插入一个固定过滤器:
import sys
from javafx.application import Application
from javafx.stage import FileChooser, Stage
class fileBrowser(Application):
@classmethod
def main(cls, args):
fileBrowser.launch(cls, args)
def start(self, primaryStage):
fc = FileChooser()
filter = FileChooser.ExtensionFilter("All Images", '*.jpg')
fc.getExtensionFilters().add(
filter
)
f = fc.showOpenDialog(primaryStage)
if __name__ == '__main__':
fileBrowser.main(sys.argv)
Run Code Online (Sandbox Code Playgroud)
但我有以下错误:
Exception in Application start method
Traceback (most recent call last):
File "provaFileChooser.py", line 28, in <module>
fileBrowser.main(sys.argv)
File "provaFileChooser.py", line 15, in main
fileBrowser.launch(cls, args)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at …Run Code Online (Sandbox Code Playgroud) jython ×10
java ×5
python ×4
android ×1
apache-pig ×1
cpu-usage ×1
groovy ×1
javafx ×1
jruby ×1
monkeyrunner ×1
multicore ×1
pip ×1
python-3.x ×1
sqlite ×1
testing ×1