在导入其他文件时,在命令“cd”上面临典型的NameError(没有任何附加消息)。
E.g。的 executor.py
import sys
from java.lang import System
import ds_update
x = ds_update.DataSource()
x.someAction()
ds_update.py 导入系统 来自java.lang import System
import sys
from java.lang import System
class DataSource:
def someAction(self):
try:
cd('/')
...
收到错误:(如果这些命令在一个文件中,则cd没有问题)
Problem invoking WLST - Traceback (innermost last):
File "...\executor.py", line 17, in ?
File "...\ds_update.py", line 11, in updateDS
NameError: cd
谢谢: - )
答案 0 :(得分:3)
您尝试使用未定义的函数,即cd()
,根据您的评论,它是WLST
提供的内容。我从未使用Jython
或WLST
,但您必须找到一种方法在脚本中导入这些方法才能使用它们。
答案 1 :(得分:2)
需要一些进口,至少是:
import wl
Oracle在http://docs.oracle.com/cd/E15051_01/wls/docs103/config_scripting/using_WLST.html#wp1094333
中描述了生成wl模块的方法然后你应该以“wl”为前缀。所有“cd”和其他WLST内置命令。
你会在这里找到更多
答案 2 :(得分:0)
即使它已经老了,我想补充一下:
WLST使用一种命名空间。因此,如果你将待导入文件放在/wlserver_10.3/common/wlst
中,那么与wlst相关的函数就不起作用了