我试图遍历目录中的非隐藏文件并将其添加到单元格中,但由于某种原因,它仍然保留了隐藏文件的索引。
中的非隐藏文件数png_dir_path
= 25
listing = dir(png_dirpath);
ecell = {};
for i=1:length(listing)
name = listing(i).name
if ~strncmp(name, '.', 1) % No files starting with '.'
disp(listing(i).name)
ecell{i} = fullfile(png_dirpath,listing(i).name);
end
end
当我运行上面的命令时,得到的ecell
大小为1x28,但是disp()仅返回隐藏的文件名。为什么,添加文件名到细胞时,它也增加了'.'
,'..'
和'.DS_Store'
?谢谢!!
内容 png_dirpath
MBP:cartoon_png$ ls
car1.png car12.png car15.png car18.png car20.png car23.png car3.png car6.png car9.png
car10.png car13.png car16.png car19.png car21.png car24.png car4.png car7.png
car11.png car14.png car17.png car2.png car22.png car25.png car5.png car8.png
脚本输出:
>> load_cartoon
name =
.
name =
..
name =
.DS_Store
name =
car1.png
car1.png
name =
car10.png
car10.png
name =
car11.png
car11.png
name =
car12.png
car12.png
name =
car13.png
car13.png
name =
car14.png
car14.png
name =
car15.png
car15.png
name =
car16.png
car16.png
name =
car17.png
car17.png
name =
car18.png
car18.png
name =
car19.png
car19.png
name =
car2.png
car2.png
name =
car20.png
car20.png
name =
car21.png
car21.png
name =
car22.png
car22.png
name =
car23.png
car23.png
name =
car24.png
car24.png
name =
car25.png
car25.png
name =
car3.png
car3.png
name =
car4.png
car4.png
name =
car5.png
car5.png
name =
car6.png
car6.png
name =
car7.png
car7.png
name =
car8.png
car8.png
name =
car9.png
car9.png
如您在脚本的以上输出中所看到的,第一行name
包含隐藏文件,第二行包含隐藏文件。
疯狂物理学家的答案是正确的,为什么您会遇到这个问题。
但是,如果这是您的最终目标,则似乎有一种更简单的方法可以在目录中仅获取PNG列表。
listing = dir(fullfile(png_dirpath,'*.png'));
ecell = {listing.name};
不需要for循环或目录检查。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句