如何找到当前运行代码的文件扩展名?

时间:2017-11-21 19:23:48

标签: matlab reflection file-extension

MATLAB提供mfilename功能。它返回调用函数的文件的名称,但不幸的是,它返回的文件名没有extension

例如,如果我们有一个名为myfile.m的文件,我们在文件中调用mfilename,它将返回字符串'myfile'但不返回'myfile.m'

我还查看了fileparts函数,但它没有用,因为它只解析你提供的字符串。

我正在开发一段代码,根据文件扩展名有不同的行为。例如,它需要知道run time处文件的扩展名是.m还是.p

您可以查看与MATLAB here相关联的扩展名列表。

我该怎么做?

1 个答案:

答案 0 :(得分:9)

Looking at the docs,您似乎可以从dbstack命令获取所需信息,但需要进行一些小的额外处理。

[ST, I] = dbstack('-completenames', 1)

ST = 

    file: 'C:\myProject\myfile.m'
    name: 'myfile'
    line: 2