使用 JPype-total 新手查询从 Python 调用 jar 文件

2024-03-21

所以我一直在使用 subprocess.call 来运行jar来自 Python 的文件如下:

subprocess.call(['java','-jar','jarFile.jar',-a','input_file','output_file'])

它将结果写入外部 output_file 文件。和-a是一个选项。

我现在想在 python 中分析output_file,但想避免再次打开该文件。所以我想跑jar文件.jar作为 Python 函数,例如:

output=jarFile(input_file)

我已经安装了 JPype 并让它工作,我已经设置了类路径并启动了 JVM 环境:

import jpype

classpath="/home/me/folder/jarFile.jar"

jpype.startJVM(jpype.getDefaultJVMPath(),"-Djava.class.path=%s"%classpath)

现在我被困住了...


java -jar jarFile.jar执行jar中配置的类文件的main方法清单文件 http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Main_Attributes。 如果提取 jar 文件,您会找到该类名META-INF/MANIFEST.MF(使用任何 zip 工具打开 jar)。寻找 的值Main-Class。如果是这样的话com.foo.bar.Application你应该能够像这样调用 main 方法

def jarFile(input_file):
    # jpype is started as you already did
    assert jpype.isJVMStarted()
    tf = tempfile.NamedTemporaryFile()
    jpype.com.foo.bar.Application.main(['-a', input_file, tf.name])
    return tf

(我不确定tempfile模块的正确使用,请自行检查)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JPype-total 新手查询从 Python 调用 jar 文件 的相关文章

  • sudo 和 pip 不在同一路径上

    pip and sudo不在我的计算机上的同一路径上 因此当 基本上一直 我需要运行这两个命令时 如下所示 sudo pip install xxx I get sudo pip command not found pip下载软件包 但由于
  • 从 asyncio 子进程获取实时输出

    我正在尝试使用 Python asyncio 子进程来启动交互式 SSH 会话并自动输入密码 实际用例并不重要 但它有助于说明我的问题 这是我的代码 proc await asyncio create subprocess exec ssh
  • 从 Python 中的 message_from_string() 获取发件人地址

    有人可以告诉我如何在Python中从email message from string 获取发件人地址吗 谢谢 我试过 message email message from string email text from message Fr
  • 嵌套函数中的变量作用域

    有人可以解释为什么以下程序失败 def g f for in range 10 f def main x 10 def f print x x x 1 g f if name main main 带有消息 Traceback most re
  • 如何测试该变量不等于多个事物?

    这是我的一段代码 choice while choice 1 and choice 2 and choice 3 choice raw input pick 1 2 or 3 if choice 1 print 1 it is elif c
  • MacOS Big Sur 中的 NPM 错误“找不到 Python 可执行文件”

    我已经花了整整一周的时间寻找这个问题的答案 但没有成功 我查看了每个 StackOverflow 帖子 Google 的每一篇文章以及我能找到的每个相关的 Github 问题 大多数相关错误似乎都比较旧 所以我想知道我的问题是否由于我使用的
  • 如何搜索一列并用找到的内容填充另一列?

    我有一个带有虚构人物数据的大熊猫数据框 下面是一个小例子 每个人都由一个数字定义 import pandas as pd import numpy as np df pd DataFrame Number 5569 3385 9832 64
  • 如何检查给定的数字是否是2的幂?

    下面的代码不适用于某些输入 a i set 1 while i lt 10000 a add i i lt lt 1 N int input if N in a print True else print False 我最初的想法是检查每个
  • 在Python中,如何通过去掉括号和大括号来打印Json

    我想以一种很好的方式打印 Json 我想去掉方括号 引号和大括号 只使用缩进和行尾来显示 json 的结构 例如 如果我有一个像这样的 Json A A1 1 A2 2 B B1 B11 B111 1 B112 2 B12 B121 1
  • Python SQLite3 SQL注入漏洞代码

    我知道下面的代码片段由于 format 的原因很容易受到 SQL 注入的攻击 但我不知道为什么 有谁明白为什么这段代码容易受到攻击以及我从哪里开始修复它 我知道这些代码片段使输入字段保持打开状态 以便通过 SQL 注入执行其他恶意命令 但不
  • 如何使用 Python 在表单中选择选项?

    我想知道如何以格式如下的形式选择选项 td align left td
  • 如何在 tkinter 后台运行函数[重复]

    这个问题在这里已经有答案了 我是 GUI 编程新手 我想用 tkinter 编写一个 Python 程序 我想要它做的就是在后台运行一个可以通过 GUI 影响的简单函数 该函数从 0 计数到无穷大 直到按下按钮为止 至少这是我想要它做的 但
  • 使用 Popen 打开进程并获取 PID

    我正在开发一个漂亮的小功能 def startProcess name path Starts a process in the background and writes a PID file returns integer pid Ch
  • 在添加数据之前使用 Python gdata 清除工作表中的行

    我有一个 Google 电子表格 我使用 python 脚本和 gdata 库填充值 如果我多次运行脚本 它会将新行附加到工作表中 我希望脚本在填充之前首先清除行中的所有数据 这样每次运行时我都会有一组新的数据脚本 我尝试过使用 Updat
  • Python:如何“杀死”类实例/对象?

    我希望 Roach 类在达到一定量的 饥饿 时 死亡 但我不知道如何删除该实例 我的术语可能有误 但我的意思是 窗户上有大量 蟑螂 我希望特定的蟑螂完全消失 我会向您展示代码 但它很长 我将蟑螂类添加到策划者类蟑螂种群列表中 一般来说 每个
  • 我应该在哪里对对象和字段进行 django 验证?

    我正在创建一个 Django 应用程序 它使用 Django Rest Framework 和普通的 django views 作为用户的入口点 我想对模型的独立字段以及整个对象进行验证 例如 字段 根据正则表达式函数输入的车牌是否正确 与
  • 根据标签位置计算 Pandas DataFrame 的索引

    我正在尝试计算标签的索引Pandas https pandas pydata org DataFrame在每一列中 基本上我有以下内容DataFrame d col1 label1 label2 label3 col2 label2 lab
  • 从函数在 python 3 中创建全局变量

    我想知道为什么在函数结束后我无法访问变量 variable for raw data 代码是这样的 def htmlfrom Website URL import urllib request response urllib request
  • Python 子进程:无法转义引号

    我知道以前曾问过类似的问题 但它们似乎都是通过重新设计参数的传递方式 即使用列表等 来解决的 但是 我这里有一个问题 因为我没有这个选项 有一个特定的命令行程序 我使用的是 Bash shell 我必须向其传递带引号的字符串 它不能不被引用
  • 处理错误“TypeError: Expected tuple, got str”将 CSV 加载到 pandas 多级和多索引 (pandas)

    我正在尝试加载 CSV 文件 这个文件 https drive google com file d 13a eVeSzy6HkhffQw32S57U hm5YCj0 view usp sharing 创建一个多索引多级数据帧 它有5 五 指

随机推荐

  • SQL |返回最小值 |动态多行

    我需要创建一个查询 仅返回特定列中具有最小值的行 我有这个结果 示例 Name Description Order Name1 A 1 Name1 B 2 Name1 C 3 Name2 A 1 Name2 B 2 Name2 C 3 我想
  • 按字典顺序比较字符串

    我认为如果我在 C 中使用 gt 和 if aa gt bz cout lt lt Yes 这不会打印任何内容 这就是我需要的 但是如果我输入 if aa gt bzaa cout lt lt Yes 这将打印 是 为什么会发生这种情况 或
  • 将 MySQL 列值设置为 NULL 而不是 0 或 '' 对磁盘空间的影响

    我试图了解处理大部分为空的列的最佳方法磁盘空间 and 指数表现 将所有空位放入 NULL 与 对于 varchar text 与 0 对于 int 之间有区别吗 Thanks 不 使用 NULL 不会比空占用更少的空间VARCHAR or
  • Facebook 分享“可点击”网址链接问题

    我在 Facebook 中遇到可点击 url 链接的问题 正如您所看到的 nr 1 不可点击 但 nr 2 和 3 可以点击 有时它是可点击的 有时则不可点击 随机 我想要的是所有共享链接都不像 nr 1 那样 可点击 我怎样才能解决这个问
  • jQuery .slideUp 问题

    slideDown 工作正常 当第二次单击链接时 会再次出现 slideDown 动画 而不是 slideUp 请帮我一下 谢谢 document ready function toggleButton click function if
  • mysqldump 命令中的语法错误

    mysqldump mydatabase lt my path to sqlfile sql 这是我下达的命令 这个语法错误的原因可能是什么 我很确定它是正确的 我正在尝试将 sql 文件加载到我的数据库中 use mysqldump u
  • Scrapy:遇到302时如何停止请求?

    我正在使用 Scrapy 2 4 从 start urls 列表中抓取特定页面 这些 URL 中的每一个可能都有 6 个结果页面 因此我请求全部结果页面 然而 在某些情况下 只有 1 个结果页面 所有其他分页页面都会返回 302 到 pn
  • 在 jQuery 滚动上淡入淡出 div

    我有一些 div 本质上只是彩色矩形来帮助可视化 当我向下滚动页面时 每个矩形应该fadeIn or fadeOut取决于滚动条的位置 不幸的是 它吓坏了 褪色更像是痉挛的频闪灯 我认为最好通过滚动方式通过每个元素的距离来确定不透明度级别
  • ORA-00904: “ID”: 无效标识符

    我正在尝试创建一个带有外键的表 我不断得到ORA 00904错误 我究竟做错了什么 是因为外键的表还没有创建吗 CREATE TABLE ingredients ingredient id number 2 0 ingredient VAR
  • 如何与OBD-II设备通信

    有OBD II类似设备http www rczd com c 2015 Car Diagnostic Tools 0223 41193 html http www rczd com c 2015 Car Diagnostic Tools 0
  • jQuery 验证不工作

    我的代码似乎有问题 validate不起作用 但所有文档都已连接并且工作正常 HTML div h1 Site Name Quote h1 p class quoteError p p class step p div
  • 我可以制作用户特定的 gitignore 文件吗?

    我想更改 gitignore 但并不是团队中的每个人都希望这些更改 用户如何拥有自己特定的 git 忽略文件 您可以使用以下命令创建自己的 gitignore git config global core excludesfile HOME
  • MySQL创建表时出现错误1022

    MySQL Workbench 使用以下 SQL 来创建表 CREATE TABLE IF NOT EXISTS mydb errors reports error id INT NOT NULL report short VARCHAR
  • 如何在NetBeans上编辑库源文件?

    我正在做基于 SSJ Java 中的随机模拟 库的 JAVA 项目 在我的项目中 我已按照所需步骤导入 SSJ 库文件和源文件 当查看项目的库分支中的 SSJ 库文件时 仅显示类文件 但是当我打开它们时 我可以查看源代码 以前无法查看 因为
  • 拆分按钮下拉菜单设置操作 url

    我正在尝试实施Split button dropdowns在我的网络应用程序中 我找不到在主应用程序上设置 Url 的方法Action button
  • PHP 子类的神奇方法 __call

    我的情况最好用一些代码来描述 class Foo function bar echo called Foo bar class SubFoo extends Foo function call func if func bar echo i
  • 每次使用 JQuery 在输入字段中更改内容时如何执行函数?

    我有一个文本字段
  • 在代码中提及什么 jQuery 版本

    我正在使用 jQuery 并且我对页面开头包含的版本有点困惑 根据我使用其他软件的经验 我了解到每个新版本都包含大多数旧功能 并提供一些新功能 例如 如果最新的 jQuery 版本是 1 9 为什么我要提到这一点
  • 如何使用 ASP.NET 预生成的数据库创建角色

    我正在使用 ASP NET MVC 5 我正在创建一个注册页面来注册 专家 我希望它成为与用户不同的角色 我看到在预先生成的 AspNetRoles 表中有一个 ID 和一个 Name 列 每次我尝试研究这个问题时 我都会得到一些东西 展示
  • 使用 JPype-total 新手查询从 Python 调用 jar 文件

    所以我一直在使用 subprocess call 来运行jar来自 Python 的文件如下 subprocess call java jar jarFile jar a input file output file 它将结果写入外部 ou