如何检查Matlab中是否存在文件?

JPC*_*JPC 9 matlab

if exist('JaccardDistance', 'file')==1
    load('JaccardDistance');
else
    % Do things
end
Run Code Online (Sandbox Code Playgroud)

文件JaccardDistance位于执行此代码的同一文件夹中.问题是"else"部分总是被执行,这意味着它没有意识到文件JaccardDistance存在.我究竟做错了什么?提前致谢.

scr*_*ola 19

对于存在的文件,将返回2而不是1.您还应在检查中包含文件扩展名.

if exist('JaccardDistance.m', 'file') == 2
Run Code Online (Sandbox Code Playgroud)

参考matlab论坛 或阅读手册:

exists name返回name的状态:

  • 0 名称不存在.
  • 1 name是工作空间中的变量.
  • 2 以下之一是真的:

    • 您的MATLAB®搜索路径上的名称作为扩展名为.m的文件存在.
    • name是MATLAB搜索路径上普通文件的名称.
    • name是任何文件的完整路径名.