我正在尝试处理Lua文件。
因此,我可以打开,读取,写入,关闭文件。
local session_debug = io.open("/root/session_debug.txt", "a")
session_debug:write("Some text\n")
session_debug:close()
我如何知道此文件的上次修改日期时间戳。
答案 0 :(得分:5)
标准Lua中没有内置函数可以做到这一点。没有第三方库的一种方法是使用io.popen
。
例如,在Linux上,您可以使用stat
:
local f = io.popen("stat -c %Y testfile")
local last_modified = f:read()
现在last_modified
是testfile
上次修改时间的时间戳。在我的系统上,
print(os.date("%c", last_modified))
输出Sat Mar 22 08:36:50 2014
。
答案 1 :(得分:1)
如果您不介意使用库,则LuaFileSystem
允许您按以下方式获取修改后的时间戳:
local t = lfs.attributes(path, 'modification')
一个带有错误处理的更详细的示例(将打印传递给脚本的第一个参数的名称和修改日期):
local lfs = require('lfs')
local time, err = lfs.attributes(arg[1], 'modification')
if err then
print(err)
else
print(arg[1], os.date("%c", time))
end