You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:37:32