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

Python如何读取同目录指定文件夹内的所有.mat文件

MATLAB批量导入同层级folder目录下所有.mat文件方案

路径配置失效的核心原因是多数写法依赖MATLAB当前的工作目录,只要运行脚本时工作目录没有切到script和folder所在的根目录,就会触发文件找不到报错。以下实现完全基于脚本自身路径定位目标文件夹,不依赖工作目录配置,可直接运行。


可直接复用的脚本代码

把以下代码放到你的script脚本中即可:

% 获取当前脚本所在的根目录路径
script_fullpath = mfilename('fullpath');
root_path = fileparts(script_fullpath);

% 拼接folder文件夹的完整路径
mat_dir = fullfile(root_path, 'folder');

% 路径合法性校验
if ~isfolder(mat_dir)
    error('folder文件夹路径异常,请检查目录结构');
end

% 读取文件夹内所有.mat文件列表
mat_files = dir(fullfile(mat_dir, '*.mat'));

% 循环加载所有mat文件
for idx = 1:length(mat_files)
    file_fullpath = fullfile(mat_files(idx).folder, mat_files(idx).name);
    fprintf('已加载第%d个文件:%s\n', idx, mat_files(idx).name);
    % 加载到结构体数组存储,避免变量冲突
    all_mat_data(idx) = load(file_fullpath);
end

关键说明

  • 全程使用fullfile()拼接路径,自动适配Windows、macOS、Linux的路径分隔符,不需要手动写/或\
  • 加载的所有.mat文件内容统一存在all_mat_data结构体数组中,每个数组元素对应一个mat文件内的所有变量,不会出现不同mat文件同名变量互相覆盖的问题
  • 如果需要把mat内变量直接导入当前工作区,把循环内的all_mat_data(idx) = load(file_fullpath);替换为load(file_fullpath);即可,非必要不推荐这种写法
  • 不要使用load('folder/xxx.mat')这类写死相对路径的写法,只要运行时工作目录不在根目录下就会报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 02:03:49