我试图获取一个文件列表,以便在我的Octave程序中进行迭代。我现在打电话给
x = ls
并且工作正常。 但是,我想要一个只有文本文件的列表。我可以打电话
ls *.txt
但我无法致电
x = ls *.txt
有没有办法做到这一点?我找到的解决方法是
x = eval("ls *.txt")
但我希望避免这种情况。
答案 0 :(得分:2)
您应该阅读手册:http://www.gnu.org/software/octave/doc/interpreter/Calling-Functions.html#Calling-Functions
x = ls ("*.txt")
如果调用不带()的函数,则所有参数都被解释为字符串,但只有在您不想存储结果时才有效。所以
foo bar baz
相当于
foo ("bar", "baz")
答案 1 :(得分:2)
在Andy's answer之上,它解释了为什么你错误地调用了ls
,你在调用ls
时也是错误的。此函数返回一个char数组,其中包含文件列表,除了在Octave提示符下显示之外的任何内容,这些文件几乎无用。
相反,请考虑使用glob
:
files = glob ("*.txt")
将返回文件名的单元格数组。