遍历非隐藏文件Matlab

Snazziii

我试图遍历目录中的非隐藏文件并将其添加到单元格中,但由于某种原因,它仍然保留了隐藏文件的索引。

中的非隐藏文件数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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章