目前,我正在构建一个使用MATLAB和Python脚本的测试框架。我有一个主脚本,比如说'MainFramework.py',它调用并传递参数给一个类,比如说'MainClass_X.py',它调用并传递参数给一个函数,比如说'X.py',这个函数本身调用并传递参数给'X.m'
MainFramework.py具有以下代码格式:
from MainClass_X import MainClass_X
arg1="something1"
arg2="something2"
Test=MainClass_X(arg1,arg2)
Test.run()
MainClass_X.py具有以下代码格式:
from x import x
class MainClass_X(object):
def __init__(self,paramater1,parameter2):
self.paramater1=paramater1
self.paramater2=paramater2
def run(self):
x(self.paramater1,self.paramater2)
函数x.py的代码格式如下:
import matlab.engine
def x(arg1,arg2):
eng=matlab.engine.start_matlab()
eng.x(arg1,arg2,nargout=0)
当MainFramework.py、MainClass_X.py、X.py和X.m脚本都位于同一目录中时,脚本将按设计工作。但是,当我将MainFramework.py移动到父目录中时,脚本会给我以下MATLAB错误:输入参数类型为“int64”的未定义函数“x”
为了更好地理解,请查看以下目录结构:
__directory1__
MainFramework.py
__directory1/subdirectory1__
MainClass_X.py
x.py
x.m
我已经仔细检查了路径,以确保MainFramework.py调用了右侧的MainClass_X.py,我确信它确实调用了
我正在使用Matlab2020a和Python3.7,以及Anaconda3和Spyder作为空闲
有没有办法绕过这个错误。对于任务而言,python脚本位于不同的目录中是非常重要的
目前没有回答
相关问题 更多 >
编程相关推荐