3

我有一个目录的路径(作为字符串)。在那个目录中,有一堆文本文件。我想去那个目录打开它,然后去每个文本文件并读取数据。

我试过了

f = io.open(path)
f:read("*a")

我收到错误“nil 是一个目录”

我试过了:

f = io.popen(path)

我收到错误:“权限被拒绝”

只是我,但似乎比在lua中做基本文件io要困难得多?

4

2 回答 2

4

目录不是文件。你不能只是打开它。

是的,lua 本身(故意)具有有限的功能。

您可以使用luafilesystemluaposix和类似的模块来获得这方面的更多功能。

于 2015-06-10T16:52:56.807 回答
4

您还可以使用以下脚本列出给定目录中的文件名(假设 Unix/Posix):

dirname = '.'
f = io.popen('ls ' .. dirname)
for name in f:lines() do print(name) end
于 2015-06-10T17:09:05.360 回答