Не считывает путь в MATLAB на Mac

#macos #matlab

#macos #matlab

Вопрос:

Я использую Mac и в MATLAB, когда я использую этот код:

 projectdir = '‎Usersgolnoushultrasoundpapers'
dinfo = dir(fullfile(projectdir));
dinfo([dinfo.isdir]) = [];     %get rid of all directories including . and ..
nfiles = length(dinfo)
  

Я получаю:

 projectdir =
    '?Usersgolnoushultrasoundpapers'
nfiles = 0
  

Я не смог выяснить, почему я получаю номера файлов, равные нулю, в то время как у меня есть 17 PDF-файлов в papers каталоге. И что означает «?» перед путем? Сейчас я нахожусь в каталоге ultrasound . Я думаю, что проблема связана с чем-то в использовании MATLAB на Mac, чего я не знаю.

Редактировать: вот прикрепленная фотография.

Комментарии:

1. Я запускаю этот код без каких-либо проблем в Windows, но на Mac у меня есть эта проблема. проблема в path?

Ответ №1:

В macOS, как и во всех других системах на базе Unix, разделителем пути является косая черта, а не обратная. Вам нужно написать

 projectdir = '‎/Users/golnoush/ultrasound/papers'
  

Кроме того, fullfile служит для объединения компонентов пути, вы не должны использовать его, если у вас есть только один аргумент для передачи ему.

Комментарии:

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

2. @gxa: Может быть, у вас есть невидимый символ между начальной цитатой и первой косой чертой? Или, может быть, проблема в самом символе кавычки?

3. @gxa: Также видите подчеркивание clear all ? Посмотрите на эти предупреждения, делайте так, как вам говорит редактор, вы узнаете много хорошего о MATLAB. 🙂

4. @gxa чтобы убедиться, что ваш путь projectdir указан правильно, используйте его в качестве входного аргумента команды cd . Если matlab войдет в каталог, у вас будет на одну проблему меньше.