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 path separator, точку с запятой (
;
).
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
Для передачи управляющего символа обратной косой чертой (\
) как 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.']