难度等级:初学者。
这篇文章将有助于在UiPath中使用Python活动(Activity),该活动允许从UiPath调用和执行Python脚本。不仅可以执行Python脚本,还可以将参数传递给Python方法,并将结果分配给UiPath变量,该变量可在以后的RPA流程中使用。 请注意:Python Scope仅支持Python 3.6或更早版本 (不支持python3.7 和更新的版本)
步骤:
创建Python脚本
安装UiPath.Python.Activities库
添加“ Python作用域”活动
通过path属性将Python范围指向Python解释器
确保正确配置了版本和目标属性
添加“加载Python脚本”活动
将文件路径添加到Python脚本
创建结果变量并将其分配给活动的result属性
添加“调用Python方法”活动
分配输入参数
分配实例名称
分配方法名称
创建结果变量并将其分配给活动的result属性
添加“获取Python对象”活动
将Python对象分配给Invoke Python Method结果变量
将TypeArgument分配给Python方法返回类型
创建结果变量并将其分配给活动的result属性
添加一个显示Python结果的消息框
详解:
让我们深入研究上面列出的步骤。
创建Python脚本
在创建新的UiPath进程之前,应首先创建一个测试Python脚本(名为BasicMath.py)(建议Python脚本和虚拟环境与UiPath进程位于同一根文件夹中):
# takes a list of numbers as a parameterdefaddition(numbers):sum =0fornumberinnumbers: sum += numberreturnsum# takes a list of numbers and the total to be subtracted from as a parameterdefsubtraction(numbers, total):fornumberinnumbers: total -= numberreturntotal# takes the state (add or subtract), list of numbers and the total to be subtracted from (if state supports it) as a parameterdefmain(state, numbers, total):ifstate =="subtract":returnsubtraction(numbers, total)elifstate =="add":returnaddition(numbers)
安装UiPath.Python.Activities库
创建一个新的UiPath进程,向Main.xaml文件中添加一个序列,然后单击“管理软件包”,如下所示:
搜索UiPath.Python.Activities时,请确保您专注于“所有软件包”:
选择UiPath.Python.Activities库,然后单击“安装”按钮。单击安装按钮后,在出现提示时单击“保存并接受”:
现在我们已经安装了库,我们可以将我们的过程连接到Python。
添加“ Python Scope”活动
在“活动”面板中搜索“ python”,然后将“ Python范围”拖到Main.xaml文件中的Sequence中。
现在…要将作用域链接到解释器,您需要在Python Scope的“ path”属性中提供到解释器的路径:
要查找默认Python解释器的路径,请创建基本的Python脚本并运行以下命令:
importosimportsysprint(os.path.dirname(sys.executable))
也可以通过命令提示符来完成:
确保在Python作用域的属性中正确配置了目标和版本:
添加“加载Python脚本”活动
是时候从活动窗格中获取“加载Python脚本”活动并将其拖到Python范围中了:
在活动的“文件”属性中将路径添加到Python脚本:
单击“结果”属性,然后按Ctrl + K创建一个名为basicMathScript的新变量(PythonObject类型)
将“调用Python方法”活动拖到Python范围中:
创建一个名为inputNumberList的变量(类型为[T]的Array,其中T为int32),并将默认值分配给{1,2,3,4,5}:
将以下值分配给相应的“调用Python方法”属性:
–输入参数:{“ add”,inputNumberList,0} (状态,数字,总计)
–实例:basicMathScript (这是“加载Python脚本活动”的结果变量) )
–名称:“ main” (这是应执行的方法的名称)
–结果:按Ctrl + k创建一个名为pythonInvokeResult的变量(PythonObject类型)
添加“获取Python对象”活动
将“获取Python对象”活动拖到Python范围中:
将以下值分配给相应的“获取Python对象”属性:
– Python对象:pythonInvokeResult (这是“调用Python方法的结果”)
– TypeArgument:Int32 (这是指Python方法返回的结果类型)
–结果:hit Ctrl + k创建一个名为pythonMainResult的变量(类型为Int32)
添加一个显示Python结果的消息框
搜索“消息框”活动并将其拖到“ Python作用域”中:
将消息框的Text属性分配给pythonMainResult.ToString
执行后,您将看到以下消息框和结果:
要测试减法,请随意处理发送到“调用Python方法”活动中的参数:
最终过程应如下所示:
也欢迎到 Uipath子论坛 留言探讨。
「RPAPlus」 | 专注RPA+AI 咨询