Прежде всего, я хочу заметить, что это может быть не сам вопрос Октавы (я действительно не могу сказать), надеюсь, это будет ясно к концу вопроса.
Я запускаю код Octave, чтобы получить список всех файлов в папке. Следующая строка кода дает мне массив структур, содержащих всю информацию о файле в папке C:/Whatever/
>> dirPath = "C:/Whatever/";
>> files = dir(dirPath);
На практике я имею дело с папкой, полной изображений, и моя цель — получить размер каждого из изображений, но сначала мне нужно получить имена файлов для загрузки каждого из них, и это кажется разумным способом Сделай так.
Удивление наступает, когда я понимаю, что в моей папке 2547 файлов, но массив files
имеет длину 2549, т.е. Octave нашел еще два файла. Они расположены на первом и втором местах массива files
, и их имена . и .. соответственно. Точнее, при запросе имен этих файлов происходит следующее:
>> files(1).name
ans = .
>> files(2).name
ans = ..
Конечно, для достижения своей цели я мог бы проигнорировать это и начать получать информацию о файле с 3-го места в массиве files
. Однако мне это кажется далеким от чистого решения, и я хотел бы понять, что происходит и откуда берутся эти два дополнительных файла. Стоит сказать, что я работаю в системе W10 и у меня отключена видимость скрытых файлов (поэтому исключается возможность того, что это скрытые файлы), и что папка содержится в какой-то подпапке папки Dropbox моего компьютера.
Заранее спасибо.
Редактировать:
Эти два дополнительных файла выглядят как папки. Также в комментариях есть аналогичный вопрос:
В этом посте есть ответы на проблему удаления дополнительных папок из вашего списка файлов, но мне действительно хотелось бы знать, что они собой представляют и почему они там.