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.']