【问题标题】:Why matlab does not understand * in the names of files?为什么matlab不理解文件名中的*?
【发布时间】:2011-03-17 10:33:33
【问题描述】:

我尝试使用:

dir('dirname\*')

它没有工作。我开始使用后就开始工作了:

dir('dirname\m*')

有人知道为什么吗?

【问题讨论】:

    标签: string file matlab dir


    【解决方案1】:

    Matlab 确实理解通配符 *,但不幸的是,您尝试遵守 Windows cmd 路径约定的方式是输入字符串 \*,这是一个文字星号(由于转义反斜杠)。

    在所有平台上指定路径的一种解决方法或首选方法是使用正斜杠 / 作为目录分隔符。

    dir('dirname/*')
    

    这也解释了为什么在反斜杠后添加 m 可以“解决”问题;星号不再是字面星号,而是可以解释为通配符。

    编辑:Documentation 明确表示允许使用通配符并按预期工作(请参阅我上面的解释)。

    【讨论】:

      【解决方案2】:

      尽量提供完整路径,如 dir('c:\dirname*.m'), 并确保文件夹 'dirname' 存在。

      【讨论】:

        【解决方案3】:

        你的操作系统是什么?在 Windows 上,第一行运行良好。但是,“*”可能被 Matlab 视为文字“*”。 dir('dirname/*') 会发生什么?

        【讨论】:

          猜你喜欢
          • 2019-11-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-26
          • 2015-09-12
          • 2011-12-28
          相关资源
          最近更新 更多