如何在Lua中输入非同一目录的Lua文件路径并打开文件
Lua 文件路径设置方法
1. 同目录下的文件
如果main.lua和你的test.lua在同一个文件夹里,直接填文件名就行:
local mainfile = "main.lua"
2. 不同子目录的相对路径
- 要是
main.lua在src子文件夹里:
local mainfile = "src/main.lua"
- 要是
main.lua在当前文件夹的上一级目录:
local mainfile = "../main.lua"
3. 绝对路径(完整路径)
直接写文件的完整位置,注意Windows系统的路径处理:
- Windows 可以用正斜杠(跨平台兼容),或者把反斜杠转义成两个:
-- 正斜杠写法 local mainfile = "C:/Users/你的用户名/桌面/main.lua" -- 反斜杠转义写法 local mainfile = "C:\\Users\\你的用户名\\桌面\\main.lua"
- Linux/macOS 直接写标准绝对路径:
local mainfile = "/home/你的用户名/桌面/main.lua"
4. 排查路径问题的小技巧
不确定路径对不对?可以先打印当前程序的工作目录,帮你定位:
-- Windows 用 cd 命令 print("当前工作目录:", io.popen("cd"):read("*l")) -- Linux/macOS 用 pwd 命令 print("当前工作目录:", io.popen("pwd"):read("*l"))
修改后的完整代码示例
给你的代码加了错误提示,避免路径不对时直接打印nil:
local mainfile = "main.lua" -- 这里替换成你的实际路径 local open = io.open function read_file(path) local file = open(path, "rb") if not file then print("打不开文件:" .. path) return nil end local content = file:read "*a" file:close() return content end local filecontent = read_file(mainfile) if filecontent then print(filecontent) end
内容的提问来源于stack exchange,提问作者freziyt223
相关产品推荐
相关产品推荐

