Uipath中調用Python的方法

2021-01-08 RPAPlus

難度等級:初學者。

這篇文章將有助於在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 = 0for number in numbers: sum += number return sum # takes a list of numbers and the total to be subtracted from as a parameterdefsubtraction(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 parameterdefmain(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 osimport sysprint(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 諮詢

相關焦點

  • Shell調用Python函數
    Shell腳本調用Python函數,本例子是通過Shell調用Python腳本,檢查伺服器上的某埠是否開啟,編寫的Python腳本port.py,腳本內容: port.py import socket def scan(port):    s = socket.socket()    s.settimeout(0.1) 
  • Python中如何創建和調用函數
    第八十五節:創建和調用函數一直以來,數學函數是我輩最大的緊箍咒,現在遇到Python中的函數,就這區區兩個字,竟然一度讓我有了退卻的念頭,鼓起勇氣學了一點點,感覺沒有那麼難,嗯,可以繼續,下面就把今天學習的一點心得分享給大家。不提數學函數了,直接說說Python中的函數的用途。
  • sublime調用虛擬環境中的python
    sublime是一款輕量、啟動極快、插件庫豐富的代碼編輯器,我們在實際操作中可能需要將python安裝到虛擬環境中,這時我們如何用sublime調用虛擬環境中的python而不是全局環境中的python。下面教大家如何設置sublime來達到我們的目的。
  • 慢步python,編程中函數的概念,python中函數的聲明和調用
    在編程中,函數和數學中的函數類似,數學中的函數只能是數值的運算轉換,而編程中的函數不僅限於數學運算。在編程中,函數是一段具有特定功能的、可重複使用的代碼組。比如筆者上一篇文章慢步python,說說import,引用功能代碼(功能庫、py文件代碼)中functions.py文件就定義了一個函數,並在另一個程序中調用了。
  • python語言的匿名函數、7種可調用對象以及用戶定義的可調用類型
    匿名函數在python表達式中,用來創建匿名函數的是lambda關鍵字。lambda函數在python語言中只能使用純表達式,也就是說,在lambda函數體中不能使用while和try,當然也不能賦值等python語句。
  • Python中導入模塊的方法
    在python中常用import或者from...import來導入相應的模塊。模塊一些函數和類的集合文件,並實現一定的功能,當我們需要使用這些功能的時候,可以直接把相應的模塊導入到我們的程序中,類似C語言中的include頭文件。
  • 雙劍合璧,Python調用C代碼
    因此,Python在一些計算密集型的場景中,與一些底層語言,如C、C++相比,往往顯得力不從心。那麼,Python有沒有辦法在保持優秀語法特性的同時,還能夠在性能上得到提升呢?當然可以。既然C語言的效率高,那麼我們把程序中對性能要求較高的部分用C語言來實現就是一種解決方案。在本文中,我們將用C語言實現一個Python模塊,並在Python代碼中對其進行調用。
  • Python教程:動態變量名定義與調用
    ,它支持python代碼的動態執行。 利用命名空間動態賦值 在Python的命名空間中,將變量名與值存儲在字典中, 可以通過locals(),globals()函數分別獲取局部命名空間和全局命名空間
  • 好程式設計師Python培訓分享Python如何調用RPC接口
    Python如何調用RPC接口是很多Python開發工程師比較關心的問題,本篇文章好程式設計師Python培訓小編就給喜歡Python開發的小夥伴們分享一下Python調用RPC接口的詳解,文中有詳細的代碼列出有很好的參考價值,喜歡的小夥伴就隨小編一起來看一下吧,希望對大家有所幫助。
  • Uipath中小瀏覽範例
    ▲點擊「RPAPlus」設為【星標】,查看信息不「迷路」Uipath官方學院的Solution Architect認證中有一個重要的實踐課題,叫做「Calculate Client Security Hash」。該實戰比較完整的體現了常規中小型RPA流程的設計和實踐方法。本文就為大家詳解該流程的設計與實現方法。
  • python 函數定義以及函數的調用
    return 和 print 的區別,return是函數的返回值,返回值可以賦值給變量,而print只是列印出來實例:判斷是否大於8,有2種方法方法一li = [2, 3, 8, 9, 12]for i
  • Python實現線程的高效非阻塞I/O調用
    很多人已經知道Python的協程及其使用方法,在眾多網絡模型中,為了實現高並發也有很多方案,多線程,多進程和協程。而協程的方式,調度來自用戶,用戶可以在函數中yield一個狀態,實現程序的非阻塞使用。使用協程可以實現高效的並發任務。
  • Python長徵之路-如何解決python調用dll時報錯!
    文/愛琳玩python大家好,今天遇到這樣一個問題,不知道各位有沒有遇到過,就是在c++中自定義創建的DLL中,依賴於GDA2**.DLL,然後提供給python去調用它。實際的代碼為:Objdll = ctypes.cdll.LoadLibrary("E:\DLL\PosterDetector.dll")而在Python去調用時報錯顯示為:最開始看這個報錯,覺得錯誤的出處為testDLL.dll依賴於gda201.dll,而Python 進程沒有找到,但就將兩個DLL文件放在同一個文件下還是沒有起到作用。
  • 掌握這兩個方法:助你學會Python 中所有函數(方法)的功能與用法
    python的便利之處不僅僅在於各種多功能強大的封裝庫,更多的是其大量人性化的函數調用,但這一點也是學習python的難點之一。python語言已經接觸過python的讀者應該都對python海量的內置函數有所了解,這些函數把我們原本在C/C++等語言中需要手動實現的功能(如排序/字符串組合
  • 成都python快速入門培訓:Python如何調用接口講解
    成都python快速入門培訓:Python如何調用接口講解最近成都達內小編有研究接口測試,然後查了查資料,發現有兩種方法,一種是使用urllib庫,一種是使用requests庫。而在這裡,我使用的是requests庫,為什麼要用這個呢?從官方文檔看出,python的標準庫urllib2提供了大部分需要的HTTP功能,但是呢?
  • 打工人打工魂,打工的必會java調用python的幾種用法
    在java類中直接執行python語句準備工作:創建maven工程,結構如下:到官網https://www.jython.org/download.html下載Jython的jar包或者在maven的pom.xml文件中加入如下代碼:<dependency>java 
  • 「python編程」使用pybind11調用C++代碼
    一、前言pybind11是一個只包含頭文件的輕量級庫,可以通過它實現C/C++接口的調用,相比於boost.python, swig, ctypes等,pybind11的優點是API比較簡單且對C++ 11支持很好。
  • 在做js逆向的時候,python如何調用js代碼
    前言最近我在做js逆向的時候,遇到了我沒法用python實現的代碼,估計就是我太菜了。那我又想實現怎麼辦,既然我寫了就說明肯定是有辦法的。,先將js代碼寫入一個文件中,需要的時候讀取執行即可。jstext = f.read()ctx = execjs.compile(jstext)a = &39;result = ctx.call(&39;, a)print(result)運行結果:123456先調用compile編譯js代碼,再調用call方法進行執行,call的第一個參數的js代碼中的函數名,第二個參數是該函數需要的參數(如果有多個參數,直接逗號寫下一個參數即可
  • Python調用C模塊以及性能分析
    中調用庫中的函數 from ctypes import cdll  c_lib=cdll.LoadLibrary('.so文件和python的測試結果 sum_test.py: def sum_python(num):      s = 0      for i in xrange(1,num+1):          s += i      return s        from ctypes import cdll     c_lib = cdll.LoadLibrary('.
  • PHP調用Python快速發送高並發郵件
    1 簡介在PHP中發送郵件,通常都是封裝一個php的smtp郵件類來發送郵件。但是PHP底層的socket編程相對於python來說效率是非常低的。CleverCode同時寫過用python寫的爬蟲抓取網頁,和用php寫的爬蟲抓取網頁。