递归火山软件开发平台

标题: 火山官方的py支持库简化版Python执行引擎 [打印本页]

作者: 乐易论坛    时间: 2026-4-22 02:27
标题: 火山官方的py支持库简化版Python执行引擎
本帖最后由 乐易论坛 于 2026-4-22 15:57 编辑
火山官方的py支持库简化版Python执行引擎
https://www.leybc.cn/thread-1753-1-1.html
(出处: 火山编程网-火山软件开发平台交流论坛-乐易网络)



说实话 我对py的兴趣不大 但是看着那复杂的操作,我是一个头两个大

在我看来,越简单越好,最好就是个 加载代码 执行 取结果完事了

所以优化了一下  不用担心 完全兼容之前的 增加了一个 类而已

支持 链式调用  支持自动安装缺少的依赖包...其他的没啥 火山交流群 831858564


简化的Python执行引擎,提供初始化、执行代码、取结果等简单接口

使用示例:
  变量 引擎 <类型 = Py引擎类>
  引擎.初始化 ()
  引擎.执行代码 ("import math; result = math.sqrt(16)")
  调试输出 (引擎.取结果小数 ("result"))



(, 下载次数: 1003)
(, 下载次数: 1018)
(, 下载次数: 1009)
(, 下载次数: 1012)





作者: 寒风    时间: 2026-4-22 02:46
学习
作者: fengyishen    时间: 2026-4-22 03:03
对py的兴趣不大 +1 ,那天想回复个求助帖,研究官方示例1小时,没有搞懂怎么取函数返回值,哭笑不得
作者: 乐易论坛    时间: 2026-4-22 04:15
fengyishen 发表于 2026-4-22 03:03
对py的兴趣不大 +1 ,那天想回复个求助帖,研究官方示例1小时,没有搞懂怎么取函数返回值,哭笑不得 ...

是的 我也研究半天 后来让AI 直接按我的需求增加吧...
作者: zqiz    时间: 2026-4-22 07:00
Python执行引擎
作者: zj4f    时间: 2026-4-22 07:17

作者: xshn    时间: 2026-4-22 07:41
学习
作者: 创世魂    时间: 2026-4-22 07:42
fengyishen 发表于 2026-4-22 03:03
对py的兴趣不大 +1 ,那天想回复个求助帖,研究官方示例1小时,没有搞懂怎么取函数返回值,哭笑不得 ...

可以用我发的AI技能库,基本上很容易就能搞出来。
作者: 创世魂    时间: 2026-4-22 07:51
你这样的没必要在官方库加,额外自己搞一个包装类就行了。
作者: 山梦    时间: 2026-4-22 08:03
说实话:大佬们弄的火山什么,都是对一些有基础的人。没什么基础的人,还是一头雾水的!
作者: 793359277    时间: 2026-4-22 08:17
看看            
作者: lichenxui    时间: 2026-4-22 08:27
666666
作者: arlonshen    时间: 2026-4-22 08:50
这个方便快捷
作者: itismine    时间: 2026-4-22 08:54
学习一下。。。

作者: caomin    时间: 2026-4-22 09:02
666666666666666666666666666666666
作者: caomin    时间: 2026-4-22 09:05
官方的好像有个bug   我执行代码  是正常的  他应该返回 真才对  结果 返回是假:噜阿噜
作者: aycap    时间: 2026-4-22 09:34
66666666
作者: youzhi311    时间: 2026-4-22 10:17
学习!支持!
作者: smk718    时间: 2026-4-22 10:18
6666666~~~~~~
作者: storey    时间: 2026-4-22 10:41
优秀。。。
作者: 十二只耳环    时间: 2026-4-22 11:35
山梦 发表于 2026-4-22 08:03
说实话:大佬们弄的火山什么,都是对一些有基础的人。没什么基础的人,还是一头雾水的! ...

带上技能   问ai  呗  用沉默 和 创魂的 两个技能包  基本上可以直接出吧  或者让trae 给你讲解一下 一步一步的入门级解释  也行。
作者: yunwls    时间: 2026-4-22 12:22
PY执行代码返回的是 py对象类(py命名空间,字典类型),所以通过这个对象.字典_取键值 (, )去取就可以取出结果。

作者: 乐易论坛    时间: 2026-4-22 13:17
创世魂 发表于 2026-4-22 07:51
你这样的没必要在官方库加,额外自己搞一个包装类就行了。

这个就是额外的包装类:噜阿噜
作者: zlk    时间: 2026-4-22 15:09
学习学习
作者: 山人    时间: 2026-4-22 15:47
学习............
作者: zzyhzb    时间: 2026-4-22 15:56
学习学习
作者: hspwd    时间: 2026-4-22 19:57
看看是怎么写的

作者: hspwd    时间: 2026-4-22 21:21
fengyishen 发表于 2026-4-22 03:03
对py的兴趣不大 +1 ,那天想回复个求助帖,研究官方示例1小时,没有搞懂怎么取函数返回值,哭笑不得 ...

最后弄好没,py我用AI写的代码,火山不能直接用,还要修改,本来就不会py,还要修改,整个锤子,我都快放弃了,分开弄
作者: hspwd    时间: 2026-4-22 21:26
本帖最后由 hspwd 于 2026-4-22 21:28 编辑
fengyishen 发表于 2026-4-22 03:03
对py的兴趣不大 +1 ,那天想回复个求助帖,研究官方示例1小时,没有搞懂怎么取函数返回值,哭笑不得 ...

我觉得就要简单些,py里面要求用户输入什么,你火山就直接要求输入什么,py print 什么,你火山直接取结果就可以了
作者: 凶许酱    时间: 2026-4-22 22:40

学习
学习
作者: littlebld    时间: 2026-4-23 06:54
学习学习
作者: 凝逸AI    时间: 2026-4-23 08:58
学习
作者: kca    时间: 2026-4-23 09:10
6666666666
作者: xiedangen    时间: 2026-4-23 22:38
66666666666666666
作者: 网络注册会员    时间: 2026-4-24 10:33
感谢分享
作者: 无夜    时间: 2026-4-24 18:19
乐易是大爹,真是为民服务
作者: 牛牛    时间: 2026-4-25 18:05
好东西,来看看
作者: lxhabc123l    时间: 2026-4-25 19:07
火山官方的py支持库简化版P
作者: 周杰伦    时间: 2026-4-26 12:00
下载看看````
作者: 梦微凉    时间: 2026-4-26 12:20
学习
作者: 糯米    时间: 2026-4-26 22:28
乐易是大爹,真是为民服务
作者: 神之一手    时间: 2026-4-27 14:19

学习学习
作者: yyaini0424    时间: 2026-4-27 19:20
:噜阿噜
作者: 易火双剑    时间: 2026-4-28 21:31
乐易yyds,真是为火友服务
作者: 网猫    时间: 2026-4-29 13:17

作者: touching    时间: 2026-5-1 14:00

作者: 次元の叶子    时间: 2026-5-20 10:20
!!感谢
作者: ssswcip    时间: 2026-5-23 12:12
,研究官方示例1小时,没有搞懂怎么取函数返回值,哭笑不得
作者: domingo    时间: 2026-5-31 23:04
火山官方的py支持库简化版Python执行引擎
作者: wlnr    时间: 2026-6-10 01:42

作者: ccc    时间: 2026-6-10 09:37
学习:噜阿噜
作者: 易入门    时间: 2026-6-12 21:30

学习
作者: jy862792    时间: 2026-6-18 20:42
看看!!!!!!!!
作者: adsfa    时间: 2026-6-24 22:26
试试看需学习一下
作者: 治国安邦    时间: 2026-6-29 10:32
学习学习

作者: 治国安邦    时间: 2026-6-29 11:42
本帖最后由 治国安邦 于 2026-6-29 15:01 编辑
  1. from opcua import Client

  2. def read_opcua_value(server_url, node_id):
  3.     """
  4.     从 OPC UA 服务器读取指定节点的值。
  5.    
  6.     参数:
  7.         server_url (str): OPC UA 服务器的端点地址,例如 "opc.tcp://localhost:4840"
  8.         node_id (str): 要读取的节点ID,例如 "ns=2;i=3" 或 "ns=2;s=MyVariable"
  9.         
  10.     返回:
  11.         读取到的节点值,如果发生异常则返回 None
  12.     """
  13.     client = None
  14.     try:
  15.         # 1. 创建客户端实例并连接
  16.         client = Client(server_url)
  17.         client.connect()
  18.         
  19.         # 2. 获取指定节点
  20.         node = client.get_node(node_id)
  21.         
  22.         # 3. 读取节点的值
  23.         value = node.get_value()
  24.         return value
  25.         
  26.     except Exception as e:
  27.         print(f"读取 OPC UA 数据时出错: {e}")
  28.         return None
  29.         
  30.     finally:
  31.         # 4. 确保无论是否发生异常,都能安全断开连接释放资源
  32.         if client:
  33.             client.disconnect()

  34. # --- 使用示例 ---
  35. if __name__ == "__main__":
  36.     opc_server = "opc.tcp://DESKTOP-37UAL4U:53530/OPCUA/SimulationServer"      # 替换为实际的服务器地址
  37.     target_node = "ns=3;i=1001"                     # 替换为实际的节点 ID
  38.    
  39.     result = read_opcua_value(opc_server, target_node)
  40.     if result is not None:
  41.         print(f"成功读取节点 {target_node} 的值: {result}")
  42.     else:
  43.         print("读取数据失败")
复制代码





vs中执行python能够正常读取正常的值,整数,但是火山返回的是0,这定义的方法应该怎么写到火山里调用,乐易大佬能出个案例么,还有参数如何带入,总不能一直在编辑框直接执行所有的方法和修改参数吧?求大佬写个案例




欢迎光临 递归火山软件开发平台 (http://bbs.voldp.com/) Powered by Discuz! X3.4