難度等級:初學者。
這篇文章將有助於在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 諮詢