You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GNU Octave中获取当前脚本路径及脚本所在目录路径?

嘿,这个问题在GNU Octave的日常使用中挺常见的,我来给你拆解两种需求的实现方法,保证实用且不受当前工作目录的影响:

获取当前脚本的完整路径

Octave内置了mfilename函数,专门用来获取当前运行的脚本/函数的名称或路径。如果要拿到完整路径,只需要给它传'fullpath'参数就行。

举个实际例子,假设你有个脚本my_script.m,在里面写:

% 获取当前脚本的完整路径
current_script_path = mfilename('fullpath');
disp("当前脚本的完整路径:");
disp(current_script_path);

不管你在哪个目录下通过octave my_script.m运行它,这个函数都会返回脚本本身的绝对完整路径,完全不受当前工作目录的干扰。

获取脚本所在目录的路径

如果只需要脚本所在的目录,我们可以在上面的基础上,用fileparts函数拆分完整路径。这个函数会把一个完整路径拆分成目录路径、文件名和扩展名三个部分,我们只需要取第一部分就行。

同样在my_script.m里写:

% 先拿到脚本完整路径
script_full_path = mfilename('fullpath');
% 拆分路径,忽略文件名和扩展名
[script_dir, ~, ~] = fileparts(script_full_path);
disp("脚本所在的目录:");
disp(script_dir);

这里的~是Octave里用来忽略不需要的返回值的语法,这样得到的script_dir就是脚本所在的绝对目录路径,不管你当前工作目录怎么变,结果都不会出错。

⚠️ 小提醒:mfilename函数只有在**脚本文件(.m文件)**里运行才会返回正确的路径,如果是在Octave的交互式命令行里直接调用,它会返回'octave'或者空值,这点要注意哦。

内容的提问来源于stack exchange,提问作者MayeulC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:37:44