脚本路径中的Matlab加载文件
Matlab load file in path of script
我有一个 matlab 脚本想要 load
一个 .mat
文件,该文件位于相对于脚本位置 固定的目录中 。脚本本身可能位于相对于当前工作目录的不同位置,因此 .mat
文件的相对位置是未知的。如何指定要加载的文件相对于正在执行的脚本的位置?
函数 mfilename
return 是 当前 运行 脚本 的名称。然而,这并不是 return 脚本的完整路径。您可能需要这个,因此您可以指定 'fullpath'
选项 return 实际脚本本身的完整路径,包括脚本的名称。
你只想要文件所在的实际目录,所以首先使用mfilename
获取实际文件的完整路径,然后使用fileparts
实际提取实际目录文件在哪里。 fileparts
returns 文件所在的目录、文件名本身和扩展名。您只需要第一个输出参数而不关心其他输出。一旦你有了这个,你就可以使用实际目录,然后将这个字符串附加到你的 .mat
文件的位置:
p = mfilename('fullpath');
[pathstr,~,~] = fileparts(p);
d = fullfile(pathstr, 'path', 'to', 'your', 'file.mat');
fullfile
构建一个 OS 独立的目录字符串,因此对于您要指示的每个子目录都可以进入 .mat
文件,将它们作为单独的输入字符串放置,直到你到达你想要的文件。 d
将包含您的 .mat
文件相对于当前 运行 脚本的完整路径,然后您可以相应地将其用于 load
。
我有一个 matlab 脚本想要 load
一个 .mat
文件,该文件位于相对于脚本位置 固定的目录中 。脚本本身可能位于相对于当前工作目录的不同位置,因此 .mat
文件的相对位置是未知的。如何指定要加载的文件相对于正在执行的脚本的位置?
函数 mfilename
return 是 当前 运行 脚本 的名称。然而,这并不是 return 脚本的完整路径。您可能需要这个,因此您可以指定 'fullpath'
选项 return 实际脚本本身的完整路径,包括脚本的名称。
你只想要文件所在的实际目录,所以首先使用mfilename
获取实际文件的完整路径,然后使用fileparts
实际提取实际目录文件在哪里。 fileparts
returns 文件所在的目录、文件名本身和扩展名。您只需要第一个输出参数而不关心其他输出。一旦你有了这个,你就可以使用实际目录,然后将这个字符串附加到你的 .mat
文件的位置:
p = mfilename('fullpath');
[pathstr,~,~] = fileparts(p);
d = fullfile(pathstr, 'path', 'to', 'your', 'file.mat');
fullfile
构建一个 OS 独立的目录字符串,因此对于您要指示的每个子目录都可以进入 .mat
文件,将它们作为单独的输入字符串放置,直到你到达你想要的文件。 d
将包含您的 .mat
文件相对于当前 运行 脚本的完整路径,然后您可以相应地将其用于 load
。