matlab - 从文件加载 MATLAB 对象
问题描述
在 MATLAB 中,我从文件中加载自定义类对象。它包含对其他文件的引用,这些文件应该位于目标文件旁边的驱动器上。有没有办法获取初始化期间加载对象的文件的位置?
例子:
- 我的目标文件是 C:\user\myObjectFile.mat
- 我从脚本加载它: load('C:\user\myObjectFile.mat')
- 我希望对象能够知道它是从指定文件加载的
谢谢!
解决方案
您可以创建自定义加载功能,即
function obj = loadMyObj( filepath )
data = load( filepath );
obj = data.obj; % load returns the object "obj" in a struct
obj.filepath = filepath;
end
然后使用loadMyObj
而不是load
.
当然,这要求您的对象具有该filepath
属性,但如果您希望它保留加载它的位置,这是给定的。
另一种选择可能是将这种行为放入对象的类构造函数中,然后调用类似
obj = myClass( 'C:\some\path\file.mat' );
构造函数在哪里加载文件,分配存储在文件中的属性,并存储路径。
推荐阅读
- python - 如何复制 Tkinter 弹出窗口
- python - 基于比较删除excel中的行(python,pandas)
- apache-spark - PySpark 中的布尔索引是否得到官方支持?
- java - Flink Python 自定义连接器/源
- kubernetes - kubernetes nginx入口服务器片段注释未生效
- node.js - 强制在纱线之前运行 npm install ?
- php - PHP 正则表达式 url 匹配
- grep - Grep 获取范围内的数字
- javascript - nodejs获取视频持续时间
- airflow - 有新消息时气流中的 Sqs 传感器未触发