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

cod*_*tor 9 reflection matlab file-extension

MATLAB提供了这个mfilename功能.它返回调用函数的文件的名称,但不幸的是,它返回没有扩展名的文件名.

因此,例如,如果我们有一个文件被调用myfile.m,我们mfilename在文件内部调用,它将返回字符串'myfile'但不返回'myfile.m'

我也看了一下这个fileparts函数,但它没用,因为它只解析你提供的字符串.

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

您可以在此处查看与MATLAB关联的扩展列表.

我该怎么做?

Mat*_*ark 10

看一下这些文档,看起来你可以从dbstack命令中获得所需的信息,但它需要一些小的额外处理.

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

ST = 

    file: 'C:\myProject\myfile.m'
    name: 'myfile'
    line: 2
Run Code Online (Sandbox Code Playgroud)

  • `[ST,I] = dbstack(' - completenames')`没有`1`为我工作.然后我使用`fileparts`处理`ST.file`以获取文件扩展名.非常感谢. (3认同)