R033---UiPath中调用Python的Activity中文说明及实践

​一、缘起

前面文章写了《R027---Uipath调用python编译后的exe(第2版)》。

本文写的是UiPath中调用Python相关的Activity中文说明及实践。

 

二、UiPath中调用Python相关的Activity

 

关于Python活动包

https://activities.uipath.com/docs/about-the-python-activities-pack

       Python活动包已经成为开源的。欢迎在我们的Github存储库上进行协作。

 

此包的目的是使您能够直接从我们的产品中调用任何工作流中的Python脚本和方法。您还可以将输入参数传递给调用的代码,以及检索活动生成的输出数据。

在Python的范围容器活动连接在计算机上安装Python环境,使您可以使用内本身的活动的其余部分。
PythonObject变量专门用于处理和操作Python数据。通过使用“ 加载Python脚本”活动,您可以轻松地将包含Python脚本的任何文件中的代码分配给a,PythonObject并且还可以使用“ 获取Python对象”活动将其转换为.NET数据类型。
有了这个强大的变量,您可以通过使用每个任务的专用活动来运行脚本,提取.NET类型或调用Python方法。

发行说明

https://activities.uipath.com/docs/release-notes-python

UiPath.Python.Activities v1.1.6857.17236

发布日期: 2018年10月10日

新功能和增强功能

我们理解您需要支持机器学习模型,因此我们改进了Python Activities包,增加了对Python x64的支持。

这一刻终于来了 - 整个UiPath平台已经本地化,因此您可以拥有真正身临其境的体验,从安装到设计和执行。现在,除了英语,您还可以使用日语访问所有内容,包括我们的在线文档。

Bug修复

  • 修复了导致Python脚本错误无法在Studio中正确显示的问题。

UiPath.Python.Activities v1.0.6716.23055

发布日期:2018年6月4日

该UiPath.Python.Activities是一项新的活动包,创建以使从工作流运行Python脚本和方法直接。它包含以下活动:

  • 获取Python对象 - 检索指定Python脚本中使用的.NET类型。

  • Python Scope - 为Python活动提供范围的容器。

  • 调用Python方法 - 帮助您直接在工作流中从Python脚本运行指定的方法。

  • 加载Python脚本 - 将Python代码转换为PythonObject变量。

  • 运行Python脚本 - 使您能够执行Python代码。您可以直接在活动中输入代码或为其提供文件路径。

 

2.1、Python Scope

https://activities.uipath.com/docs/python-scope

UiPath.Python.Activities.PythonScope

一个容器,它为Python活动提供范围并初始化指定的Python环境。当Python Scope活动结束时,所有加载到该点的Python对象都将被删除。

属性

共同

  • DisplayName - 活动的显示名称。

输入

  • Path - Python环境安装文件夹的路径。该字段仅支持字符串和字符串变量。

  • 版本 - 包含该列表的下拉列表使您可以选择要使用的Python版本。默认情况下,此属性设置为“ 自动”。

注意:

设置为“ 自动”时,此属性仅检测v3.5以上的版本。

杂项

  • Private - 如果选中,则不再以Verbose级别记录变量和参数的值。

 

2.2、加载Python脚本

https://activities.uipath.com/docs/load-script

UiPath.Python.Activities.LoadScript

使您能够将Python脚本的处理程序存储在PythonObject变量中。您可以使用结果变量来调用代码中的方法。如果除了脚本中存在的方法之外还有内联代码,则代码也会在运行时执行。只能在Python Scope活动中使用。

由于软件限制,此活动默认使用Python活动包的安装位置作为脚本的运行目录。要更改此设置,并且能够在脚本中使用相对路径,可以将以下代码添加到已加载的脚本中作为解决方法:

  • python

import sys 
import os
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
import 

 

属性

共同

  • DisplayName - 活动的显示名称。

输入

  • 代码 - 要加载的Python代码。该字段仅支持字符串和字符串变量。

  • 文件 - 包含要加载的Python代码的文件的路径。该字段仅支持字符串和字符串变量。

杂项

  • Private - 如果选中,则不再以Verbose级别记录变量和参数的值。

输出

  • 结果 - 存储在PythonObject变量中的指定Python脚本的处理程序。

 

2.3、调用Python方法

https://activities.uipath.com/docs/invoke-method

 

UiPath.Python.Activities.InvokeMethod

帮助您直接在工作流中从Python脚本运行指定的方法。首先需要使用Load Python Script活动将包含该方法的脚本加载到环境中。只能在Python Scope活动中使用。

属性

共同

  • DisplayName - 活动的显示名称。

输入

  • 输入参数 - 要调用的Python脚本的输入参数列表(如果有)。该字段仅支持IEnumerable变量。

  • 实例 - 包含要运行的方法的Python脚本,存储在PythonObject变量中。该字段仅支持PythonObject变量。

  • Name - 要调用的方法的名称。该字段仅支持字符串和字符串变量。

  • 杂项

    • Private - 如果选中,则不再以Verbose级别记录变量和参数的值。

    输出

    • 结果 - 调用方法的结果,存储在PythonObject变量中。可以使用Get Python Object活动进一步处理并转换为.NET数据类型。

     

    2.4、获取Python对象

    https://activities.uipath.com/docs/get-object

    UiPath.Python.Activities.GetObject

    Python.Object其他Python活动(如Load Python Script)返回的变量转换为您选择的.NET数据类型。只能在Python Scope活动中使用。

    属性

    共同

    • DisplayName - 活动的显示名称。

    输入

    • Python Object - 存储在PythonObject变量中的Python对象,您希望将其转换为.NET类型。该字段仅支持PythonObject变量。

    • TypeArgument - 要将PythonObject变量转换为的.NET数据类型。默认情况下,它设置为Object。支持Studio中可用的所有数据类型。

    杂项

    • Private - 如果选中,则不再以Verbose级别记录变量和参数的值。

    产量

    • 结果 - PythonObject变量转换为在TypeArgument属性中选择的.NET类型变量。

     

    2.5、运行Python脚本

    https://activities.uipath.com/docs/run-script

    UiPath.Python.Activities.RunScript

    使您能够执行Python代码。您可以直接在活动中输入代码或为其提供文件路径。只能在Python Scope活动中使用。

    由于软件限制,此活动默认使用Python活动包的安装位置作为脚本的运行目录。要更改此设置,并且能够在脚本中使用相对路径,可以将以下代码添加到已加载的脚本中作为解决方法:

    • python

    import sys 
    import os
    sys.path.append(os.path.dirname(os.path.realpath(__file__)))
    import 

     

    属性

    共同

    • DisplayName - 活动的显示名称。

    输入

    • 代码 - 您要运行的Python代码。该字段仅支持字符串和字符串变量。

    • 文件 - 包含要运行的Python代码的文件的路径。该字段仅支持字符串和字符串变量。

    杂项

    • Private - 如果选中,则不再以Verbose级别记录变量和参数的值。

    三、实践:调用Python脚本

     

    https://activities.uipath.com/docs/invoking-a-python-script

     

    为了举例说明如何使用此活动包,我们构建了一个自动化过程来调用Python脚本,该脚本定义了两个操作:Add和Subtract。然后从脚本调用其中一个方法Add,并将整数变量列表作为输入参数。然后将存储在专有PythonObject变量中的结果转换为.NET数据类型,以便在Studio中进一步使用。

    注意:

    您要使用的Python版本必须安装在要运行该过程的计算机上。

    这就是演示的构建方式:

    1. 打开Studio并启动一个新进程。

    2. 将Python Scope活动拖到工作流设计器中。

    3. 在Python Scope活动的Path属性中指定Python的安装目录。默认情况下,位置是,您使用的Python版本在哪里。%LOCALAPPDATA%\Programs\Python\PythonXX\python.exeXX

    4. 在Python Scope的Do部分中拖动Load Python Script活动,并将文件路径添加到File属性中的Python脚本。MathOperations.py

    5. 创建一个新PythonObject变量,调用MathFunctions并将其添加到Result属性字段中。

    6. 添加Invoke Python Method活动并按如下方式配置其属性:

      • 输入参数 -{2,3}

      • 实例 - 将在步骤5中创建的变量添加MathFunctions到此字段。

      • 名称 - 在这种情况下,在要使用的脚本中添加方法的名称add

      • 结果 - 创建一个PythonObject名为的新变量,SumResultPython并将其添加到此属性字段中。

    7. 接下来,将Get Python Object活动拖到工作流程中。配置其属性如下:

      • Python对象 - 将SumResultPython变量添加到此字段。

      • TypeArgument - Int32从下拉列表中选择。

      • 结果 - 创建一个新Int32变量,调用Result并将其添加到此字段。

    8. 在项目结束时添加消息框活动并将其配置为显示Result变量。
      您的项目应如下所示:

    R033---UiPath中调用Python的Activity中文说明及实践_第1张图片

    9.运行该过程。该消息框显示的结果添加方法。

    10.Demo下载地址:

    https://www.uipath.com/hubfs/Documentation/WorkflowExamples/18.3%20Examples/Python.7z

     

    (正文结束)

     

    附1:关于本公众号

    微信公众号名称:柴班说

    欢迎转载与分享,也请注明出处。

    R033---UiPath中调用Python的Activity中文说明及实践_第2张图片

    附2:关于本文作者

    微信号:chaijw

    识别下面的二维码,可以与作者进行更为深入的交流。

    R033---UiPath中调用Python的Activity中文说明及实践_第3张图片

     

     

    你可能感兴趣的:(RPA,流程自动化机器人,UiPath)