

上午看到社区里面一个关于Python模块调用可视化流程的问题,在尝试解决过程中发现原来高级教程培训视频中讲得不够清楚或不够深入的地方。社区历史问答中也看得到同样的问题。
该问题已解决,特来总结并做下扩展,看完记得点个赞。
原视频参考高级教程: 【影刀RPA高级课程(2023版)03:编码版 RPA+Python=?】
这个部分讲的足够清楚,相信大家在实际过程中也用的最多,从略。仅贴几张图片以示完整。
除主流程外,新建一个Python模块module1.py,新建流程参数“文本”,输入,字符串及“文本长度”,输出,整数

主流程中调用流程,选择module1,输入参数“文本”,OK

在module1.py中新增函数add(), 输入参数x,y,输出和/差

在主流程中调用模块,选择Python模块“module1”,选择函数add,输入参数x和y(注意点亮python图标)。OK。

新建2个可视化子流程, 子流程1.flow及approval_insert.flow(先创建子流程2.flow,然后重命名)。
每个子流程中仅打印日志作为测试


新建Python模块module2.py,在头部通过from .import process1/process2引用子流程1.flow,approval_insert.flow
在main函数或自定义函数中使用process1.main({})调用可视化模块子流程1.flow和approval_insert.flow,请看下实际运行效果。

请在上图中右键子流程1.flow或approval_insert.flow,打开文件所在文件夹,可以看到main.pybx,module1.py,module2.py,process1.pybx,process2.pybx 等等,了解到文件后缀.pybx是可视化流程,文件后缀.py是Python模块。

然后打开项目的package.json文件,可以看到每个可视化流程或Python模块对应的py或pybx文件名,此处子流程1对应process1,approval_insert对应process2。这一刻就都明白了要这样通过process1/process2在python模块中引用可视化流程。

以approval_insert.flow为例,在其中创建流程参数,para1,输入,字符串及para2,输入,字符串

module2.py中通过process2.main({"para1":"xxxxx","para2":"yyyyyyy"})传入参数,请看下实际效果,成功。

目前我没有找到答案,不知道process.main()中如何输出,希望有高手指点。
目前想到的是通过全局变量输出。

最终结果如下:

The End~~~
看到这里了,随手点个赞吧,谢谢!