>我目前正在尝试使用io.open(file_name, "r"(
我的目录结构是
parent_dir
-src
-main.lua
-tests
-test.txt
我目前正在尝试从主测试文件夹中打开 txt 文件.lua使用 io.open(file_name, "r")
但它不会将文件识别为存在。如果我将绝对路径放入file_name它就可以工作。我不确定如何格式化相对路径?我已经尝试了某些版本的../../../tests/test.txt
但我似乎无法让它工作。文件的实际路径类似于/Users/user_name/parent_dir/tests/test.txt
../语法正确,用于指定相对路径。
但这不是相对于 Lua 脚本的位置,而是相对于当前工作目录。
参考获取Lua中的当前工作目录
您无法从 Lua 脚本中更改当前工作目录,除非您使用 LuaFile System 等库。
如果您正在运行单个脚本,则可以检查全局arg[0]
(如果不是 nil(是否包含该脚本的路径。您可以使用它从脚本的位置构建绝对路径。