os 和 io 库
访问系统时间、环境变量、文件系统以及标准输入和标准输出。
os 和 io 库 是 CoddyKit 上的免费 Lua Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Lua Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Lua Academy 课程共包含 4 节课。
os 模块概述
os 模块提供对操作系统功能的访问:时间、日期、环境变量、进程控制和文件系统操作。
os.time 和 os.clock
os.time() 返回当前时间的 Unix 时间戳。os.clock() 返回程序使用的 CPU 时间,可用于基准测试。
local t0 = os.clock()
for i = 1, 1e6 do end
print(("%.4f sec CPU"):format(os.clock() - t0))os.date
os.date(format, time) 会格式化时间戳。使用 "*t" 可获得包含 year、month、day、hour、min、sec 字段的表。
print(os.date("%Y-%m-%d %H:%M:%S")) -- 2025-01-15 14:30:00
local d = os.date("*t")
print(d.year, d.month, d.day)os.getenv
os.getenv(name) 读取环境变量。如果变量未设置,则返回 nil。
local path = os.getenv("PATH")
print(path and path:sub(1, 50) or "not set")os.execute 和 os.exit
os.execute(cmd) 运行 shell 命令并返回退出代码。os.exit(code) 终止进程。
local ok = os.execute("echo hello")
print("exit status:", ok)os.rename 和 os.remove
os.rename(old, new) 重命名或移动文件。os.remove(path) 删除文件或空目录。失败时,两者都会返回 nil 和错误信息。
io 模块概述
io 模块提供文件输入/输出功能。使用 io.open 打开文件,使用 file:read 读取文件,使用 file:write 写入文件。
io.lines
io.lines(filename) 返回一个遍历文件各行的迭代器。完成后会自动关闭文件。
for line in io.lines("data.txt") do
print(line)
end从标准输入读取 io.read
io.read() 从标准输入读取一行。io.read("*n") 读取一个数字,io.read("*a") 读取标准输入中的全部内容。
io.write("Enter name: ")
local name = io.read()
print("Hello, " .. name)io.popen
io.popen(cmd, mode) 打开一个连接到 shell 命令的管道。像读取文件句柄一样读取命令的输出。
local f = io.popen("date")
local date = f:read("*l")
f:close()
print(date)标准输入、标准输出、标准错误
io.stdin、io.stdout 和 io.stderr 是为标准流预先打开的文件句柄。
io.stderr:write("Error: something went wrong\n")os/io 问题
哪个函数会返回程序使用的 CPU 时间?
回顾:os 和 io 库
os 库负责时间、环境、进程和文件系统操作。io 库负责文件输入/输出、管道和标准流。两者结合起来,可以满足大多数系统交互需求。
常见问题解答
「os 和 io 库」课时是免费的吗?
是的 — 「os 和 io 库」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Lua Academy 课程的其余内容,请升级到 CoddyKit PRO。 Lua Academy 课程共包含 4 节课。
「os 和 io 库」这节课中我会学到什么?
访问系统时间、环境变量、文件系统以及标准输入和标准输出。 你通过在浏览器中直接运行的动手代码来练习 Lua Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Lua Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Lua Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「os 和 io 库」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Lua Academy 课中编写并运行代码吗?
能。每节 Lua Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。