Uipath中调用Python的方法

it2025-07-20  3

 

难度等级:初学者。   

 

这篇文章将有助于在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 parameter def addition(numbers): sum = 0 for number in numbers: sum += number return sum # takes a list of numbers and the total to be subtracted from as a parameter def subtraction(numbers, total): for number in numbers: total -= number return total # takes the state (add or subtract), list of numbers and the total to be subtracted from (if state supports it) as a parameter def main(state, numbers, total): if state == "subtract": return subtraction(numbers, total) elif state == "add": return addition(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脚本并运行以下命令:

 

import os import sys print(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 咨询

最新回复(0)