LittleR

Uipath中调用Python的方法

 

难度等级:初学者。   

 

这篇文章将有助于在UiPath中使用Python活动(Activity),该活动允许从UiPath调用和执行Python脚本。不仅可以执行Python脚本,还可以将参数传递给Python方法,并将结果分配给UiPath变量,该变量可在以后的RPA流程中使用。   请注意:Python Scope仅支持Python 3.6或更早版本 (不支持python3.7 和更新的版本)  

步骤:

  1. 创建Python脚本
  2. 安装UiPath.Python.Activities库
  3. 添加“ Python作用域”活动
    1. 通过path属性将Python范围指向Python解释器
    2. 确保正确配置了版本和目标属性
  4. 添加“加载Python脚本”活动
    1. 将文件路径添加到Python脚本
    2. 创建结果变量并将其分配给活动的result属性
  5. 添加“调用Python方法”活动
    1. 分配输入参数
    2. 分配实例名称
    3. 分配方法名称
    4. 创建结果变量并将其分配给活动的result属性
  6. 添加“获取Python对象”活动
    1. 将Python对象分配给Invoke Python Method结果变量
    2. 将TypeArgument分配给Python方法返回类型
    3. 创建结果变量并将其分配给活动的result属性
  7. 添加一个显示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方法的结果”)
– TypeArgumentInt32 (这是指Python方法返回的结果类型)
结果:hit Ctrl + k创建一个名为pythonMainResult的变量(类型为Int32)

 

 

添加一个显示Python结果的消息框

搜索“消息 框”活动并将其拖到“ Python作用域”中:

 

 

 

将消息框的Text属性分配给pythonMainResult.ToString

 

 

执行后,您将看到以下消息框和结果:

 

 

 

 

要测试减法,请随意处理发送到“调用Python方法”活动中的参数:

 

最终过程应如下所示:

 

 

也欢迎到 Uipath子论坛 留言探讨。

 

「RPAPlus」 | 专注RPA+AI 咨询

https://www.rpaplus.com

首页

 

 

要发表评论,您必须先登录