I am trying to work on Lua file handling.
So, I am able to open, read, write, close the files.
local session_debug = io.open("/root/session_debug.txt", "a")
session_debug:write("Some text\n")
session_debug:close()
How can I know the last modified date timestamp of this file.
There's no built-in function in standard Lua that does this. One way to get it without third-party libraries is to take use of io.popen
.
For example, on Linux, you could use stat
:
local f = io.popen("stat -c %Y testfile")
local last_modified = f:read()
Now last_modified
is the timestamp of the last modified time of testfile
. On my system,
print(os.date("%c", last_modified))
Outputs Sat Mar 22 08:36:50 2014
.
If you don't mind using a library, LuaFileSystem
allows you to get the modified timestamp as follows:
local t = lfs.attributes(path, 'modification')
A more elaborate example with error handling (will print the name and date of modification of the first argument passed to the script):
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With