Указание имени файла

Построение допустимого пути и имен файлов

Определение путей

Путь задает расположение файлов, например, C:\work\my_data (на платформах Microsoft® Windows®) или /usr/work/my_data (на Linux® или платформах Mac). Если вы не задаете путь при доступе к файлу, MATLAB® сначала ищет в текущей папке. Чтобы указать на файл в конкретном месте, задайте путь.

Спецификации пути отличаются, в зависимости от платформы, на которой вы запускаете MATLAB. Используйте функцию fullfile, чтобы создать пути в операторах, которые работают над любой платформой. Эта функция особенно полезна, когда вы предоставляете код кому-то использующему ее на платформе кроме вашего собственного.

fullfile вставляет специфичные для платформы разделители файлов в случае необходимости. Символ разделителя файлов является символом, который отличает один уровень папки от другого в пути. Наклонная черта вправо (/) является допустимым разделителем на любой платформе. Наклонная черта влево (\) допустима только на платформах Microsoft Windows. В полном пути к папке итоговая наклонная черта является дополнительной. Введите filesep в Командном окне, чтобы определить правильный символ разделителя файлов, чтобы использовать на вашей платформе.

Чтобы идентифицировать платформу, на которой в настоящее время запускается MATLAB, используйте ismac, ispc и функции isunix.

Символы в именах файлов и именах папок

Имена файлов должны начаться с буквы и могут содержать буквы, цифры или символы нижнего подчеркивания.

Избегайте использования символов с диакритикой, таких как умляуты или циркумфлексы в путях. MATLAB не может распознать путь. Кроме того, попытки сохранить файл к такому пути могут привести к непредсказуемому поведению.

Если путь или имя файла содержат пробелы, заключите вход в одинарные кавычки. Например:

load 'filename with space.mat'
или
load('filename with space.mat')

Абсолютные и относительные пути

MATLAB всегда принимает пути absolute (также названный путями full), такими как I:/Documents/My_Files или /users/myuserid/Homework/myfile.m. Абсолютный путь может запуститься с любого следующего:

  • Путь UNC '\\'.

  • Буква диска, на платформах Microsoft Windows, таких как C:\.

  • Символ '/' на платформах Linux.

Некоторые функции MATLAB также поддерживают относительные пути. Если не указано иное, путь относительно текущей папки. Например:

  • myfile.m относится к файлу myfile.m в текущей папке.

  • myfolder относится к папке myfolder в текущей папке.

  • ../myfolder/myfile.m относится к файлу myfile.m в папке myfolder, где myfolder на том же уровне как текущая папка. Каждое повторение ../ в начале пути перемещает дополнительный уровень папки вверх.

Совет

Если несколько документов открыты и прикрепляются в Редакторе, можно скопировать абсолютный путь любого из этих документов буферу обмена. Эта практика полезна, если необходимо задать абсолютный путь в другом средстве MATLAB или внешнем приложении. Щелкните правой кнопкой по вкладке документа, и затем выберите Copy Full Path to Clipboard.

Частичные пути в MATLAB

Частичный путь является последним фрагментом имени полного пути для местоположения на пути поиска файлов MATLAB. Некоторые функции принимают частичные пути.

Примеры частичных путей: matfun/trace, private/cancel и demos/clown.mat.

Используйте частичный путь для:

  • Задайте местоположение, независимое от того, где MATLAB установлен.

  • Найдите функцию в определенном тулбоксе, когда несколько тулбоксов будут содержать функции с тем именем. Например, чтобы открыть файл для функции set в продукте Database Toolbox™, введите:

    open database/set
  • Найдите файлы метода. Например, чтобы проверять, существует ли метод plot для объекта временных рядов, введите:

    exist timeseries/plot

    Определение символа знака at sign (@) на имена папок метода является дополнительным.

  • Найдите частный и файлы метода, которые иногда скрыты.

Обязательно задайте достаточно пути, чтобы сделать частичный путь уникальным.

Максимальная длина путей в MATLAB

Максимальная длина допускала путь, зависит от вашей платформы.

Например, на платформах Microsoft Windows:

  • Максимальная длина известна как MAX_PATH.

  • Вы не можете использовать абсолютный путь, который превышает 260 символов.

  • Для относительного пути вы можете должны быть использовать меньше чем 260 символов. Когда операционная система Windows обрабатывает относительный путь, она может произвести более длительный абсолютный путь, возможно превысив максимальную длину.

Если вы получаете неожиданные результаты при работе с долгими путями используйте абсолютный вместо относительных путей. Также использование более короткие имена для папок и файлов.

Чувствительность к регистру имен файлов

В целом, лучше задавать путь и случай точно при определении имени файла.

Чувствительность к регистру, когда Вызов функций

Вы вызываете файлы функции путем определения имени файла без расширения файла. MATLAB возвращает ошибку, если он не может найти чувствительное к регистру соответствие на пути поиска файлов. По умолчанию MATLAB предлагает функцию с правильным случаем.

Когда несколько файлов имеют то же имя, MATLAB следует правилам приоритета определить, чтобы вызвать. Для получения дополнительной информации смотрите Порядок приоритета функций.

Чувствительность к регистру, загружая и сохранив файлы

Платформы LinuxИмена файлов являются чувствительными к регистру.

  • При загрузке или чтении из файла, задайте имя файла с помощью правильного случая.

  • При сохранении или записи в файл, MATLAB сохранил файл в случае, который вы задаете. Два файла с тем же именем, но различные случаи могут существовать в той же папке.

Платформы Windows — Имена файлов являются нечувствительными к регистру. Операционная система Windows полагает, что два файла с тем же именем тот же файл, независимо от случая. Поэтому у вас не может быть двух имен файлов, которые отличаются только случаем в той же папке.

  • При загрузке или чтении из файла, MATLAB получает доступ к файлу с указанным именем, которое выше на пути поиска файлов, независимо от случая. Например, при попытке загрузить MYFILE, и myfile.mat выше на пути поиска файлов, чем MYFILE.MAT, затем MATLAB загружает myfile.mat, не предупреждая, что существует несоответствие случая.

  • При сохранении или записи в файл, если вы задаете имя файла, которое уже существует в папке, MATLAB получает доступ к существующему файлу без предупреждения. Например, если вы сохраняете данные в файл с именем myfile с помощью функции save, и MYFILE.mat уже существует в папке, данные заменяют содержимое MYFILE.mat. Однако имя файла остается MYFILE.mat.

Смотрите также

| | | | |

Похожие темы