Uipath 调用Python 脚本程序详解

news2024/11/29 22:32:35

Python 活动概述

UiPath.Python.Activities 是一个新的活动包,创建它是为了支持直接从工作流运行 Python 脚本和方法。 其包含以下活动:
Python 作用域(Python Scope) - 为 Python 活动提供作用域的容器。
加载 Python 脚本(Load Python Script) - 将 Python 代码转换为 PythonObject 变量。
调用 Python 方法(Invoke Python Method) - 在工作流中运行 Python 脚本中的调用指定方法。
获取 Python 对象(Get Python Object) - 检索指定的 Python 脚本中使用的 .NET 类型。
运行 Python 脚本(Run Python Script) - 执行 Python 代码或Python 文件。

Uipath 调用Python 前置条件

1。电脑安装Python 环境,Python 下载地址:

Python Releases for Windows | Python.org

注意:目前官方是支持Python3.11 及以下的低版本,建议安装Python3.10 环境

选择对应的python 版本,本文的Python 环境是3.10.11

2。电脑安装.Net 5.0 ,.Net 5.0 下载地址:

下载 .NET 5.0 (Linux、macOS 和 Windows)

选择应对的操作系统下载:

注意:如果电脑没有安装.Net 5.0  在使用Uipath 调用Python 时,一直卡在Python Scope 作用域活动,没有反应,也没有报错,这时需注意是否有安装.Net5.0 SDK

3。如果Python 脚本有导入第三方类库,在Uipath 调用Python 前,先使用pip install 库名 安装后,再执行,否则提示 One or more errors occurred 类似错误

1.Python Activities 包安装

点击【管理程序包】,在对话窗口点击【所有包】,在查询输入框输入“python",找到uipath.python.activities包,选择后,点击【安装】,再点击【保存】,如下图所示:

提示安装版本选择1.7.1 最新版本。

2. Python 作用域(Python Scope) 

Python 作用域 ”容器活动连接到计算机上安装的 Python 环境,使您能够使用其内部的其余活动。

Python Scope 类似Excel Scope,需运行Excel 文件时,需将Excel 活动嵌套在Excel Scope 内。同样,需运行Python 活动时,需求Python 活动嵌套在Python Scope内。Python Scope 提供一个Python 运行环境。

Python Scope 作用域功能:

功能:Python Scope 活动提供作用域并初始化指定 Python 环境的容器。 当“ Python 作用域 ”活动结束时,系统将删除到目前为止加载的所有 Python 对象。

2.1 属性配置说明

  • 库路径(Linux 或版本 > 3.9)- 对于 Linux,为 libpython**.so 库的路径,包括库名称。对于 Windows(版本 > 3.9),为 python**.dll 的路径,包括库名称。对于 Windows(版本 <= 3.9),请将此字段留空。
  • 路径 - Python 环境安装文件夹的路径
  • 目标 ” - Python 运行时平台。 选择以下两个可用选项之一:x86 或 x64。
  • 超时 ” - 在 Python 脚本终止并引发异常之前,允许其运行的时间(以秒为单位)。
  • “版本” - 一个下拉列表,其中包含用于选择要使用的 Python 版本。 默认情况下,此属性设置为 “自动”

2.2 示例说明

如果系统是64位则选择X64 否则选择x86

路径 c:\python 是指python 的安装目录,如下图所示

库路径,python脚本>=3.10 则需设置dll路径,否则提示:

Python Scope: Error initializing Python engine 类似错误

工作文件夹:设置需要执行python 脚本的所在文件夹,可以为空

3. 加载Python脚本(Load Python Script)

Load Python Script功能:

将 Python 脚本的处理程序存储在 PythonObject 变量中,则可以使用生成的变量来调用代码中的方法。

3.1 了解PythonObject变量类型

了解PythonObject 变量类型,之前有使用string,datarow ,datatable 等类型,在和python 脚本数据交互时,我们需使用pythonobject变量类型。

PythonObject 变量类型功能:

用于处理和操作 Python 数据, 通过使用“ 加载 Python 脚本 ”活动,可以轻松地将包含 Python 脚本的任何文件中的代码分配给 PythonObject ,还可以使用“ 获取 Python 对象 ”活动将其转换为 .NET 数据类型。有了这个强大的变量,可以使用每个任务的专用活动来运行脚本、提取 .NET 类型或调用 Python 方法。

3.2 属性配置说明

  • “代码” - 要加载的 Python 代码。
  • 脚本 ” - 包含要加载的 Python 代码的文件的路径。
  • 结果 ” - 指定 Python 脚本的处理程序,存储在 PythonObject 变量中。

注意:

1.代码和脚本 选项,二选一,建议使用脚本路径,便于维护。

2.结果输出项: Python 脚本的处理程序存储在 PythonObject 变量类型中,创建其变量用来接收。

3.3 示例说明

如下图,创建变量python_excel_instance,用来保存Python脚本处理程序,后面其他活动需要与Python 交互时,则使用该变量则可。

4. 调用Python方法(Invoke Python Method)

调用Python方法功能:

在工作流中运行 Python 脚本中的调用指定方法。

注意:

使用调用Python方法活动时,先使用“ 加载 Python 脚本 ”活动拖拉到Python作用域内。

4.1 属性配置说明

  • 输入参数 ” - 要调用的 Python 脚本的输入参数列表(如果调用python 方法有参数,则必填)。 字段仅支持 IEnumerable<Object> 变量。
  • 实例 - 包含要运行的方法的 Python 脚本,存储在 PythonObject 变量中。 字段仅支持 PythonObject 变量。
  • 名称 ” - 要调用的方法的名称。 此字段仅支持 String 变量。
  • 结果 ” - 调用方法的结果,存储在 PythonObject 变量中。 可以使用“ 获取 Python 对象 ”活动进一步处理,并将其转换为 .NET 数据类型。

4.2 示例说明

参数格为式 {}

如{"参数名称值1”,"参数名称值2”,"参数名称值3”} 也可以使用变量,本文案例 参数值为:

{in_TransactionItem("PdfFilePath"),in_str_OutputFolder,Convert.ToString(in_TransactionItem("fileName"))+".xlsx"}

5. 获取Python对象(Get Python Object)

获取Python对象功能:

用于从 Python 对象获取 .NET 数据类型。Python 数据类型与Uipath 数据类型不一致,当Uipath 调用Python 脚本时,如果脚本有返回值,Uipath 需依其返回值做相关业务逻辑判断,这时需使用获取Python 对象活动。

5.1 属性配置说明

  • Python 对象 ” - 要从中提取值的 Python 对象。 此字段仅支持 PythonObject 变量。
  • “类型参数 ” - 要从 PythonObject 变量获取的 .NET 数据类型。 默认情况下,它设置为 Object。 支持 Studio 中可用的所有数据类型。
  • 结果 ” - 在“类型参数” 属性中选择的与 Python 对象对应的 .NET 类型变量。

5.2 示例说明

6. 运行Python脚本(Run Python Script)

运行Python脚本功能:

执行 Python 代码,支持代码或Python文件路径。

6.1 属性配置说明

  • “代码” - 要运行的 Python 代码。 字段仅支持 String 变量。
  • 文件 ” - 包含要运行的 Python 代码的文件的路径。 字段仅支持 String 变量。

6.2 示例说明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1447795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Servlet JSP-Eclipse安装配置Maven插件

Maven 是一款比较常用的 Java 开发拓展包&#xff0c;它相当于一个全自动 jar 包管理器&#xff0c;会导入用户开发时需要使用的相应 jar 包。使用 Maven 开发 Java 程序&#xff0c;可以极大提升开发者的开发效率。下面我就跟大家介绍一下如何在 Eclipse 里安装和配置 Maven 插…

(一)【Jmeter】JDK及Jmeter的安装部署及简单配置

JDK的安装和环境变量配置 对于Linux、Mac和Windows系统&#xff0c;JDK的安装和环境变量配置方法略有不同。以下是针对这三种系统的详细步骤&#xff1a; 对于Linux系统&#xff1a; 下载适合Linux系统的JDK安装包&#xff0c;可以选择32位或64位的版本。 将JDK的安装包放置…

ubuntu服务器部署gitlab docker并配置nginx反向代理https访问

拉取镜像 docker pull gitlab/gitlab-ce运行容器 docker run --detach \--publish 9080:80 --publish 9022:22 --publish 9443:443\--namegitlab \--restartalways \--volume /home/docker/gitlab/config:/etc/gitlab \--volume /home/docker/gitlab/logs:/var/log/gitlab \-…

今天:旧时是这样“破五迎福”

昨&#xff08;正月初四&#xff09;天&#xff0c;笔者——“ 人民体验官 ”&#xff0c; 为了推广人民日报官方微博文化产品所发表在10余个网站自媒体平台上的文章《今天&#xff1a;大年初四迎灶神爷》&#xff0c;不知何故被笔者寄居养老城市的自媒体论坛反复拒之门外&…

Spring Boot3自定义异常及全局异常捕获

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 目的 主要步骤 定义自定义异常类 创建全局异常处理器 手动抛出自定义异常 前置条件 已经初始化好一个…

使用一根网线,让Ubuntu和正点原子I.MX6ULL开发板互相ping通

1.硬件准备 准备一根网线即可 2. 让windows和I.MX6ULLping通 2.1 找根网线将I.MX6ULL和电脑连起来 2.2 让I.MX6ULL通电运行起来&#xff0c;我这里使用的是正点原子版本的内核、 2.3 进入电脑的网络连接后&#xff0c;按照如下步骤操作 2.4 将ip地址、子网掩码、默认网关…

情人节html代码

一、一个带有心形和祝福消息的页面 如果想在网页上创建一个简单的情人节祝福&#xff0c;可以使用HTML和CSS。以下是一个简单的例子&#xff0c;它创建了一个带有心形和祝福消息的页面&#xff1a; <!DOCTYPE html> <html> <head> <title>情人节…

林浩然与杨凌芸的Java奇趣冒险:System与Runtime的大挑战

林浩然与杨凌芸的Java奇趣冒险&#xff1a;System与Runtime的大挑战 Lin Haoran and Yang Lingyun’s Java Adventure: The Grand Challenge of System and Runtime 在一个阳光明媚的日子&#xff0c;程序员大侠林浩然和智慧女神杨凌芸携手闯荡Java江湖。他们的故事并非刀光剑影…

[缓存] 1. 缓存共性问题

1. 缓存的作用 为什么需要缓存呢&#xff1f;缓存主要解决两个问题&#xff0c;一个是提高应用程序的性能&#xff0c;降低请求响应的延时&#xff1b;一个是提高应用程序的并发性。 2. 缓存的分类 本地缓存&#xff0c;分布式缓存 3. 缓存数据分类 3.1 数据缓存 程序数据直接…

Vue核心基础5:数据监测、收集表单数据、过滤器

1 数据监测 【代码】 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>总结</title><scrip…

LeetCode、435. 无重叠区间【中等,贪心 区间问题】

文章目录 前言LeetCode、435. 无重叠区间【中等&#xff0c;贪心 区间问题】题目链接及分类思路贪心、区间问题 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后端技…

力扣 第 384 场周赛 解题报告 | 珂学家 | 贪心构造 + KMP板子

前言 整体评价 因为是新春过年&#xff0c;所以题目出的相对简单一些&#xff0c;T4和上周一样&#xff0c;是字符串匹配模板题。 T1. 修改矩阵 思路: 模拟 按要求模拟即可 class Solution {public int[][] modifiedMatrix(int[][] matrix) {int h matrix.length;int w m…

如何一键启动、停止或重启运行在服务器内的幻兽帕鲁游戏服务进程?

如果你是用腾讯云轻量应用服务器一键部署的幻兽帕鲁服务器&#xff0c;那么可以在面板一键启动、停止或重启运行在服务器内的幻兽帕鲁游戏服务进程&#xff08;注意并非对服务器整机进行操作&#xff09;&#xff0c;无需手动在服务器内部运行命令。 详细教程地址&#xff1a;h…

2024年幻兽帕鲁服务器搭建方法_图文保姆级教程

幻兽帕鲁官方服务器不稳定&#xff1f;自己搭建幻兽帕鲁服务器&#xff0c;低延迟、稳定不卡&#xff0c;目前阿里云和腾讯云均推出幻兽帕鲁专用服务器&#xff0c;腾讯云直接提供幻兽帕鲁镜像系统&#xff0c;阿里云通过计算巢服务&#xff0c;均可以一键部署&#xff0c;鼠标…

2024幻兽帕鲁服务器创建教程_阿里PK腾讯超简单

幻兽帕鲁官方服务器不稳定&#xff1f;自己搭建幻兽帕鲁服务器&#xff0c;低延迟、稳定不卡&#xff0c;目前阿里云和腾讯云均推出幻兽帕鲁专用服务器&#xff0c;腾讯云直接提供幻兽帕鲁镜像系统&#xff0c;阿里云通过计算巢服务&#xff0c;均可以一键部署&#xff0c;鼠标…

智能汽车行业产业研究报告:毫米波雷达优势明显,核心壁垒是芯片、天线阵列、波形设计

今天分享的是智能汽车系列深度研究报告&#xff1a;《智能汽车行业产业研究报告&#xff1a;毫米波雷达优势明显&#xff0c;核心壁垒是芯片、天线阵列、波形设计》。 &#xff08;报告出品方&#xff1a;国泰君安证券&#xff09; 报告共计&#xff1a;67页 毫米波雷达被广泛…

mmdetection使用自己的voc数据集训练模型实战

一.自己数据集整理 将labelimg格式数据集进行整理 1.1. 更换图片后缀为jpg import os import shutilroot_path/media/ai-developer/imgfileos.listdir(root_path)for img in file:if img.endswith(jpeg) or img.endswith(JPG) or img.endswith(png):img_pathos.path.join(root…

关于显卡、显卡驱动、cuda、cuDNN等的区别

关于显卡、显卡驱动、cuda、cuDNN等的区别 刚接触AI或机器学习框架时&#xff0c;经常会被这几个概念搞混&#xff0c;尤其是显卡驱动、cuda、cuDNN这个三个软的东西&#xff1b;此外&#xff0c;NVCC、cudatoolkit又是什么呢&#xff1f; 1. 显卡(GPU) 显卡就是硬件&#xff…

C# winfrom中NPOI操作EXCEL

前言 1.整个Excel表格叫做工作表&#xff1a;WorkBook&#xff08;工作薄&#xff09;&#xff0c;包含的叫页&#xff08;工作表&#xff09;&#xff1a;Sheet&#xff1b;行&#xff1a;Row&#xff1b;单元格Cell。 2.忘了告诉大家npoi是做什么的了&#xff0c;npoi 能够读…

揭秘产品迭代计划制定:从0到1打造完美迭代策略

产品迭代计划是产品团队确保他们能够交付满足客户需求的产品以及实现其业务目标的重要工具。开发一个成功的产品迭代计划需要仔细考虑产品的目标、客户需求、市场趋势和可用资源。以下是帮助您创建产品迭代计划的一些步骤&#xff1a;建立产品目标、收集客户反馈、分析市场趋势…