python编写脚本替换 jar包文件_如何使用python调用jar文件中的python脚本?

博主正在尝试从Jython脚本中导入并执行一个包含Python模块的jar文件内的代码。目前遇到的问题是无法成功导入模块,尝试了通过sys.path和类加载资源的方法均未奏效。寻求解决在Java应用中集成和运行Jython模块的方案。
摘要由CSDN通过智能技术生成

我正在研究一个散布一堆jython和Java代码的应用程序。由于程序的性质(使用wsadmin),我们实际上仅限于Python 2.1

当前,我们有一个同时包含Java源代码和.py模块的jar。该代码当前是使用java调用的,但我希望删除此代码,以便将尽可能多的功能迁移到jython。

我的问题是我想从调用的jython脚本中导入或执行现有jar文件中的python模块。我尝试了几种不同的方法,但均未成功。

我的目录结构如下:

application.jar

|-- com

|--example

|-- action

|-- MyAction.class

|-- pre_myAction.py

我尝试的第一种方法是从罐子中导入。我将jar添加到sys.path中,并尝试同时使用 import

com.example.action.myAction 和 import myAction 导入模块。但是,即使我将 init

.py文件放入每个级别的目录中也没有成功。

我尝试的第二种方法是使用java类加载资源。所以我写了下面的代码:

import sys

import os

import com.example.action.MyAction as MyAction

scriptName = str(MyAction.getResource('/com/example/action/myAction.py'))

scriptStr = MyAction.getResourceAsStream('/com/example/action/myAction.py')

try:

print execfile(scriptStr)

except:

print "failed 1"

try:

print execfile(scriptName)

except:

print "failed 2"

这些都失败了。现在我对如何进行感到有些茫然。有任何想法吗 ?

干杯,

特雷弗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值