Этот пример показывает, как передать массив ячеек MATLAB® функции Python®.
Следующий модуль Python содержит функциональный theend
, который добавляет текст в конец списка. Создайте текстовый файл, скопируйте этот модуль Python и сохраните файл как mymod.py
в перезаписываемой папке, например, вашей папке prefdir
.
# mymod.py """Python module demonstrates passing MATLAB types to Python functions""" def search(words): """Return list of words containing 'son'""" newlist = [w for w in words if 'son' in w] return newlist def theend(words): """Append 'The End' to list of words""" words.append('The End') return words
Добавьте папку, содержащую mymod.py
к пути поиска файлов Python с помощью метода append
типа list
.
P = py.sys.path; append(P,prefdir);
Откройте демонстрационный файл данных MATLAB, создав массив ячеек, LastName
.
load patients.mat
Преобразуйте массив ячеек в 1
-by-N
массив py.list
.
L = py.list(LastName'); class(L)
ans = py.list
Вызовите mymod.theend
в списке.
py.mymod.theend(L);
Функция Python не делает возвращаемой переменной L
как выходной аргумент. Вместо этого функция обновляет значение ссылкой.
Просмотрите последний элемент в списке.
L{end}
ans = Python str with no properties. The End
Можно передать переменный L
другим функциям Python.