str Переменные в MATLABВ этом примере показано, как использовать Python® str переменные в MATLAB®.
str Входные параметрыВызывать функцию Python, которая берет str входной параметр, передайте строку MATLAB или вектор символов. MATLAB автоматически преобразует значения в str Python ввод.
Например, os.listdir Python функция получает информацию о содержимом папки в виде типа 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. Например, os.path.pathsep Python функция возвращает символ разделителя пути 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'
Преобразуйте вектор символов в str Python введите и отобразите те же символы.
pstr = py.str(str); pstr(2:end)
ans =
Python str with no properties.
yfile
Передать управляющий символ обратной косой черты (\) как str Python введите, вставьте управляющий символ \n новой строки путем вызова sprintf MATLAB функция. 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.']