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

如何在命令行实现类似MATLAB Workspace的变量名称、类型及值查看功能

不同交互环境下查看全量变量信息的方案

MATLAB 原生环境

MATLAB 自带的whos仅返回变量名、类型、占用空间、维度等元信息,不直接打印值,你可以自定义一个小脚本来实现汇总展示:

  • 先通过who拉取当前工作区所有变量名
  • 遍历变量,读取类型、维度、值,对过长的值做截断避免刷屏

示例可直接复用的脚本:

% 保存为 workspace.m 放在MATLAB搜索路径下,命令行直接调用即可
vars = who;
fprintf('%-15s %-20s %-15s %s\n', '变量名', '类型', '维度', '值');
fprintf('--------------------------------------------------------------------\n');
for i = 1:length(vars)
    var_name = vars{i};
    var_val = evalin('base', var_name);
    var_type = class(var_val);
    var_size = mat2str(size(var_val));
    var_str = mat2str(var_val);
    if length(var_str) > 40
        var_str = strcat(var_str(1:37), '...');
    end
    fprintf('%-15s %-20s %-15s %s\n', var_name, var_type, var_size, var_str);
end

Python 交互环境(IPython/原生REPL)

IPython 自带的whos会默认展示值的短摘要,如果需要完整展示所有自定义变量的信息,可以自定义工具函数:

def whos_full():
    # 过滤掉系统内置的下划线开头变量
    for var_name, var_val in globals().items():
        if not var_name.startswith('_'):
            var_type = type(var_val).__name__
            print(f"{var_name:<15} 类型:{var_type:<15} 值:{repr(var_val)}")

定义后直接执行whos_full()即可输出所有信息。

Shell 环境(Bash/Zsh等)

如果要查看命令行shell本身的所有变量,可以直接执行set命令,会输出全量变量名和对应值;如果仅需查看环境变量,执行printenv | sort即可得到排序后的规整结果。

Julia 环境

新版本Julia用varinfo()替代了旧版的whos,默认会展示值的短摘要,如需输出完整值可以执行以下代码:

for var in sort(collect(names(Main)))
    var_str = string(var)
    if !startswith(var_str, r"#|_") && isdefined(Main, var)
        val = getproperty(Main, var)
        println(rpad(var_str, 15), " 类型:", rpad(typeof(val), 15), " 值:", val)
    end
end

内容的提问来源于stack exchange,提问作者کوروش توسلی

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:45:04