Импорт объектов из Python-скриптов

Python позволяет импортировать классы, объекты и функции из одного модуля в другой с помощью оператора "import", подобно тому, как в других языках программирования используются внешние библиотеки.

Фундаментальной единицей организации кода Python является модуль. Модуль может содержать множество классов и функций, поэтому импорт модуля может несколько отличаться от Java, где основной единицей организации являются классы, которые импортируются в различные файлы. Еще одним свойством импорта в Python является то, что он загружается и импортируется динамически во время компиляции, что существенно отличается от компилируемого языка.

Хотя SberMobile предлагает гибкие возможности взаимодействия с платформой через скрипты, обратите внимание, что рекомендуется использовать стандартные SberMobile плагины, драйверы и low code средства разработки.

Создание скрипта с функцией для экспорта

Создайте следующий скрипт, который будет содержать экспортируемую функцию. Откройте контекстное меню для контекста Скрипты и нажмите Создать. В меню Свойства - Скрипт введите следующие значения и нажмите OK.

Свойство

Значение

Имя скрипта

utils

Описание скрипта

Utils

Тип языка

Python

Текст Python-скрипта

def get_string():
return "Hello World"

Выполнять автоматически при запуске сервера

False

Проверьте директорию scripts/python/ в вашей папке установки SberMobile, чтобы найти скрипт. Он должен был быть создан как utils_PyScript.

Импорт функций

Ключевая деталь при импорте Python-скрипта в другой Python-скрипт через контекст SberMobile Скрипты: имя модуля будет представлять собой SberMobile имя скрипта, скомбинированное со строкой _PyScript.

Предыдущий скрипт называется utils, который создал на сервере файл utils_PyScript. Чтобы импортировать модуль, оператор import должен ссылаться на utils_PyScript.

Свойство

Значение

Имя скрипта

test_import

Описание скрипта

Тестовый импорт

Тип языка

Python

Текст Python-скрипта

# Импорт pandas для работы с классом DataFrame
import pandas

# Импортируйте функцию get_string из скрипта utils
from utils_PyScript import get_string

# Этот DataFrame будет содержать все входные данные для скрипта. В этом примере он не используется
dataSetDataFrameInput # Входной аргумент (pandas.DataFrame)

#Структурируйте DataFrame со значением из импортированной функции
innerStrList = list()
innerStrList.append(get_string())
pythonList = list()
pythonList.append(1)
pythonList.append(innerStrList)

# Установите вложенный список python в DataFrame
df = pandas.DataFrame(pythonList)

# Вывод списка
dataSetDataFrameOutput = df # Аргумент вывода (pandas.DataFrame)

Выполнять автоматически при запуске сервера

False

Выполнение скрипта

Откройте контекстное меню скрипта Test Import и выберите Выполнить скрипт, или просто щелкните скрипт в системном дереве. Результат выполнения скрипта должен отобразить следующую таблицу:

0

1

1

Hello World