Uipath中调用Python的方法

 

难度等级:初学者。   


这篇文章将有助于在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 parameterdefaddition(numbers):sum =0fornumberinnumbers:        sum += numberreturnsum# takes a list of numbers and the total to be subtracted from as a parameterdefsubtraction(numbers, total):fornumberinnumbers:        total -= numberreturntotal# takes the state (add or subtract), list of numbers and the total to be subtracted from (if state supports it) as a parameterdefmain(state, numbers, total):ifstate =="subtract":returnsubtraction(numbers, total)elifstate =="add":returnaddition(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脚本并运行以下命令:


importosimportsysprint(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的方法)