str Переменные в MATLABВ этом примере показано, как использовать Python ®str переменные в MATLAB ®.
str Входные аргументыВызов функции Python, которая принимает str входной аргумент, передать строку MATLAB или символьный вектор. MATLAB автоматически преобразует значения в Python str тип.
Например, Python os.listdir получает информацию о содержимом папки, указанной как тип str. Создание вектора символов, представляющего допустимую папку и вызов os.listdir. Количество папок примеров зависит от установленного продукта.
folder = fullfile(matlabroot,'help','examples'); F = py.os.listdir(folder); exFolders = py.len(F)
exFolders =
Python int with properties:
denominator: [1×1 py.int]
imag: [1×1 py.int]
numerator: [1×1 py.int]
real: [1×1 py.int]
267
str Введите в MATLABВ MATLAB строка Python является py.str переменная. Для использования этой переменной в MATLAB вызовите char. Например, Python os.path.pathsep функция возвращает символ разделителя пути Python, точку с запятой (;).
p = py.os.path.pathsep
p =
Python str with no properties.
;
Чтобы вставить этот символ между именами путей, введите:
['mypath' char(p) 'nextpath']
ans = 'mypath;nextpath'
Можно индексировать в строку Python так же, как индексировать в строку MATLAB. Создайте вектор символов MATLAB и отобразите диапазон символов.
str = 'myfile';
str(2:end)ans = 'yfile'
Преобразование вектора символов в Python str введите и выведите одни и те же символы.
pstr = py.str(str); pstr(2:end)
ans =
Python str with no properties.
yfile
Для передачи символа управления обратной косой чертой (\) как Python str введите, вставьте новый символ управления строкой \n путем вызова MATLAB sprintf функция. Python заменяет \n с новой строкой.
py.str(sprintf('The rain\nin Spain.'))ans =
Python str with no properties.
The rain
in Spain.
Без sprintf функция, как MATLAB, так и Python интерпретировать \ как литеральная обратная косая черта.
py.str('The rain\nin Spain.')ans =
Python str with no properties.
The rain\nin Spain.
Передать эту строку методу строки Python split. Python обрабатывает вектор символов MATLAB как необработанную строку и добавляет \ символ для сохранения исходной обратной косой черты.
split(py.str('The rain\nin Spain.'))ans =
Python list with no properties.
['The', 'rain\\nin', 'Spain.']