关于Python与JMP交互问题各位专家大家好
我在 JMP 16.2 中学习 Python 和 JMP 交互时遇到两个问题
问题 1:
Names Default To Here( 1 );
Python Init( Echo( 1));
z ="python test";
Python Send( z,P );
Python Submit( "print(P)" );
Python Submit( "print(z)" );
它的输出上下文:
/**********/
打印(P)
/**********/
/**********/
打印(z)
/**********/
python 测试
0
这意味着 Python 没有接收到等于 z 的 P 参数,所以有什么问题吗?
问题2:
Names Default To Here( 1 );
Python Init( Echo( 1));
x1 = [1, 2, 3];
Python Send( x1, P_x );
Python Submit( "print(P_x)" );
Python Submit( "print(x1)" );
x2 = Python Get( x1 );
Show( x1, x2 );
但它的输出上下文:
/**********/
打印(P_x)
/**********/
/**********/
打印(x1)
/**********/
x1 = [1, 2, 3];
x2 = .;
除了问题 1 之外,此代码甚至无法正常输出 Log 中的列表值?这是 Python 和 JMP 之间列表值传输的错误吗?
高级统计建模自动化和脚本消费者和市场研究数据访问数据探索与可视化大规模定制质量与工艺工程Re: 关于 Python 和 JMP 的交互问题欢迎来到社区讨论论坛。
关于你的第一个问题,我没有看到任何错误。当您向 Python 发送标量值时,其中之一 P 在 JMP 中不存在,它无法向 Python 传递任何内容。因此,Python 不显示任何值:
print(P)
没有什么可显示的。
关于你的Q2。在 Windows 11 电脑上使用 JMP 16.2,我收到以下输出
/**********/
print(P_x)
/**********/
/**********/
print(x1)
/**********/
[[1.]
[2.]
[3.]]
x1 = [1, 2, 3];
x2 = [1, 2, 3];
这正是我所期望的。该代码在 JMP 17 上的工作方式相同
Re: 关于 Python 和 JMP 的交互问题Names Default To Here( 1 );
Python Init();
x = [1, 2, 3];
Python Send( x,Python Name("y") ); // the python name seems to be a string
Python Submit( "print(y)" );
Python Term();
我想你可能更喜欢像我在使用 Python Selenium 编写浏览器脚本.
- PythonExecute( { input }, { output }, " python code using input and producing output " )
- 尝试:...除了...围绕python代码
- 返回一个字符串作为返回码,注意 repr(e) 从异常中获取一个字符串
- 检查 PythonExecute 的返回码和字符串返回码,它们针对不同的错误
JMP 目前在处理 python 脚本中的错误方面做得不是很好; try-except 将使您的工作更加有趣。
Re: 关于 Python 和 JMP 的交互问题感谢您的支持,我想我知道我的 JMP 发生了什么,因为我只是将我的计算机操作系统从 WIN10 重新安装到 WIN 11,这可能会丢失 JMP 的一些关键环境,问题已解决但发生了另一个问题:
// This is the Scripts manual code for Python Get
Names Default To Here( 1 );
Python Init();
x1 = [1, 2, 3];
Python Send( x1 );
x2 = Python Get( x1 );
Show( x1, x2 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
Python Send( dt1 );
dt2 = Python Get( dt1 );
dt2 << New Data View;
Close( dt1 );
Python Term();
它的输出如下所示:
x1 = [1, 2, 3];
x2 = [1, 2, 3];
Send Expects Scriptable Object in access or evaluation of 'Send' , dt2 << /*###*/New Data View/*###*/
在脚本索引的第 10 行
我得到 dt2 的类型是 Number : Type(dt2) = "Number";,那么这个问题有什么解决方案吗?
Re: 关于 Python 和 JMP 的交互问题感谢您的回答
Re: 关于 Python 和 JMP 的交互问题抱歉,我只是忘记安装 Python 包,问题已解决