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方法的结果”)
– TypeArgument:Int32 (这是指Python方法返回的结果类型)
–结果:hit Ctrl + k创建一个名为pythonMainResult的变量(类型为Int32)

 

 

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

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

 

 

 

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

 

 

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

 

 

 

 

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

 

最终过程应如下所示:

 

 

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

 

「RPAPlus」 | 专注RPA+AI 咨询

### UiPath 支持调用 Python方法及其实现 UiPath 是一种强大的 RPA 工具,它可以通过特定的活动来调用外部 Python 脚本或方法。以下是关于如何通过 UiPath 调用 Python 方法的具体实现方式。 #### 1. 安装必要的包 为了使 UiPath 能够识别并使用 Python 活动,在设计器中需要安装 `UiPath.Python.Activities` 包。如果没有该包,则无法找到与 Python 相关的控件。可以在 Design 选项卡中点击 “Manage Packages”,在 All Packages 界面中搜索 `UiPath.Python.Activities` 并完成安装[^2]。 #### 2. 配置 Python Scope 控件 在工作流中添加 **Python Scope** 控件,并配置其属性: - **Path**: 设置本地计算机上的 Python 安装路径。可以运行以下代码获取当前系统的 Python 安装路径: ```python import os import sys print(os.path.dirname(sys.executable)) ``` - **Target**: 根据操作系统的架构选择目标平台(x64 或 x86)。这取决于用户的系统环境和已安装的 Python 版本[^3]。 - **Version**: 填写所使用的 Python 版本号。 #### 3. 加载 Python 脚本 使用 **Load Python Script** 活动加载所需的 Python 脚本文件。此活动中需提供脚本文件的完整路径作为输入参数,返回的结果是一个表示 Python 对象的变量[^1]。 #### 4. 调用 Python 方法 利用 **Invoke Python Method** 活动执行具体的 Python 函数。在此过程中,需要定义以下几个关键属性: - **Name**: 所要调用Python 函数名称。 - **Instance**: 上一步骤中由 Load Python Script 返回的对象实例。 - **Input Arguments**: 如果函数有参数需求,这里按照顺序填写这些参数值;多个参数之间以逗号分隔。 - **Result**: 创建一个新的变量用于接收来自 Python 函数的输出结果。例如,可命名为 ret_sum 类型为 PythonObject 来存储计算后的数据[^4]。 #### 示例代码片段 假设有一个简单的加法功能封装于 add.py 中: ```python def add(a, b): return a + b ``` 那么对应的工作流设置如下所示: - 使用 Load Python Script 将 add.py 导入; - Invoke Python Method 属性分别设为 Name:"add", Instance:ret_Match (假定), Input Parameters:{a,b}, Result:ret_sum. 最终可以从 ret_sum 变量读取两数相加之结果。 --- ###
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值