#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 войдет в каталог, у вас будет на одну проблему меньше.