MATLAB提供了 mfilename 函数。它返回调用函数的文件的名称,但是不幸的是,它返回不带extension的文件名。

因此,例如,如果我们有一个名为myfile.m的文件,并且在该文件内调用mfilename,它将返回字符串'myfile'但不返回'myfile.m'
我也看过 fileparts 函数,但它也没有用,因为它仅解析您提供的字符串。

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

您可以检查与MATLAB here相关的扩展列表。

我该怎么做?

最佳答案

Looking at the docs,看来您可以从dbstack命令获得所需的信息,但是这需要一些小的附加处理。

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

ST =

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

关于matlab - 如何找到当前正在运行的代码的文件扩展名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47421071/

10-12 22:31
查看更多