Описание
С помощью Studio Pro вы можете передавать данные в Python для дальнейшей работы с ними. Более подробно о работе с Python-скриптами в этой статье.
Применение
Существует два основных способа выполнить данную операцию в зависимости от объема данных, с которым вы работаете.
Первый способ: строки
Вы можете передать строку Python в качестве параметра. Для того чтобы продемонстрировать это, давайте обратимся к workflow ниже.
Ваша строка должна быть заключена в двойные кавычки, иначе Python обработает строку неверно.
Используя строку, вы можете создать переменную в Studio Pro, как показано ниже.
Нам также нужно добавить Python-скрипт для тестового примера.
import sys
print(sys.argv[1])
Необходимо отметить, что
-
sys
библиотека должна быть импортирована в ваш Python-скрипт:import sys
. -
После импорта библиотеки, вы можете вызывать любой аргумент как:
sys.argv[{{argument number}}]
.
Но, вы можете получить этот же результат, если добавите двойные кавычки к переменной используя Параметры следующим образом: '"' + {{variable name}} + '"'
. Выполнив эту операцию вам больше не нужно добавлять двойные кавычки к строке вручную. Эта операция может выглядеть так, как показано ниже.
В данном примере test является переменной; "test_value" является значением, а не переменной. И результатом нашего workflow является
При необходимости можно использовать несколько переменных. Для этого убедитесь, что двойные кавычки расставлены корректно, и использованы верные индексы. В качестве примера рассмотрим выражение: '"' + test + '" "test_value"'
. В этом случае у переменной test
значение находится в argv[1]
, а переменной test_value
в argv[2]
.
Второй способ: большой объем данных
На данный момент реализован только один способ передачи большого объем данных, например для файлов с данными в формате JSON. Для того чтобы правильно их обработать необходимо сначала извлечь данные с помощью Studio Pro, и лишь затем использовать их в Python.
Давайте рассмотрим следующий тестовый workflow с Прочитать письма для демонстрации этого способа.
-
Прочитать письма и сохраните данные в переменную (в формате JSON).
-
Создайте файл вида .json, используя результат предыдущего шага.
-
Подготовьте Python-скрипт и используйте его с Выполнить скрипт Python.
-
Используйте Задать значение переменной для того, чтобы сохранить данные, возвращенные из Python, для их дальнейшего использования.
Для данного случая мы подготовили следующий workflow.
Нам также понадобится Python-скрипт для извлечения данных из JSON файла.
#Import json library
import json
# Import file and encode/decode JSON
with open('C:\\Users\\ElectroNeek\\Desktop\\test_case\\test.json') as file:
data = json.load(file)
#returns data back to Studio Pro for further usage
print(data[0]['from'][0]['address'])
Результатом этого тестового workflow является адрес электронной почты.
Возможные ошибки
Во время работы бота могут возникнуть две ошибки, которые мы бы хотели здесь описать.
1. Первое ошибка может быть выдана, если для запуска Python-скрипта был использован неполный путь.
Для того, чтобы исправить эту ошибку, вам необходимо проверить, что используется полный путь, например
2. Вторая ошибка может возникнуть, если Python-скрипт или одна из папок в пути содержит пробел в имени.
Для того, чтобы исправить эту ошибку, вам нужно заключить весь путь в двойные кавычки, например:
3. Третьей возможной ошибкой может быть такое сообщение:
В этом случае необходимо проверить параметр «Path to venv folder», поскольку ошибка означает, что путь к папке venv указан некорректно: папки не существует или в ней не содержатся библиотеки Python. Обратите внимание на пример содержания папки venv: