2015-06-10 65 views
3

我有一個目錄的路徑(作爲字符串)。在那個目錄中,有一堆文本文件。我想打開它的目錄,然後轉到每個文本文件並讀取數據。如何讀取lua目錄中的一組文件

我已經試過

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

我得到的錯誤 「無是目錄」

我已經試過:

f = io.popen(path) 

我得到的錯誤: 「權限被拒絕」

難道只是我,但它似乎比在盧阿做基本文件io要困難得多嗎?

+1

有關[清單在Lua目錄(HTTP://計算器。 com/questions/5303174/get-list-of-directory-in-a-lua) – ryanpattison

回答

4

目錄不是文件。你不能打開它。

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

您可以使用luafilesystemluaposix及其他類似模塊來獲取此區域的更多功能。

+0

是的,目錄不只是一個文件。但是如果你有一個目錄A,它有一個目錄B_i的列表,並且你想打開目錄B_i中的所有文件,並且你擁有的是目錄A的一個路徑,似乎應該有一個簡單的方法來做到這一點。 – lars

+0

大多數情況下,您可以訪問支持目錄操作的函數。 lua沒有默認情況下(出於便攜性的原因)。 –

4

您也可以使用下面的腳本列出文件的名稱在給定的目錄中(假設在Unix/POSIX):

dirname = '.' 
f = io.popen('ls ' .. dirname) 
for name in f:lines() do print(name) end 
+1

我會使用'io.popen('/ bin/ls'.. dirname)'來確保沒有人欺騙我們的應用程序執行它們碰巧放在PATH上的第一個'ls'。 – llogiq