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