Импорт объектов из сценариев Python

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

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

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

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

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

Свойство

Значение

Имя сценария

утилиты

Описание сценария

Utils

Тип языка

Python

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

def get_string():
return "Hello World"

Автоматически запускать при запуске сервера

Ложь

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

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

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

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

Свойство

Значение

Имя сценария

test_import

Описание сценария

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

Тип языка

Python

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

# Import pandas for working with the DataFrame class
import pandas

# Import the get_string function from the utils script
from utils_PyScript import get_string

# This DataFrame will contain any input to the script. In this example it's unused
dataSetDataFrameInput # Input Argument (pandas.DataFrame)

#Structure a DataFram with the value from the imported function
innerStrList = list()
innerStrList.append(get_string())
pythonList = list()
pythonList.append(1)
pythonList.append(innerStrList)

# Set the python nested list to a DataFrame
df = pandas.Dataframe(pythonList)

# Output the list
dataSetDataFrameOutput = df # Output Argument (pandas.DataFrame)

Запускать автоматически при запуске сервера

Ложь

Выполнение сценария

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

0

1

1

Hello Wold