Lua 如何使用相对路径访问txt文件

Lua 如何使用相对路径访问txt文件,lua,path,relative-path,Lua,Path,Relative Path,我当前正在尝试使用打开一个文件 io.open(文件名“r”) 我的目录结构是 parent_dir -src -main.lua -tests -test.txt 我目前正在尝试使用打开main.lua中tests文件夹中的txt文件 io.open(文件名,“r”)但它无法识别该文件是否存在。如果我将绝对路径放在文件名中,它就会工作。我不知道如何设置相对路径的格式?我尝试了一些版本的。/../../../tests/test.txt,但似乎无

我当前正在尝试使用打开一个文件 io.open(文件名“r”)

我的目录结构是

parent_dir  
   -src  
      -main.lua  
   -tests
      -test.txt
我目前正在尝试使用打开main.lua中tests文件夹中的txt文件
io.open(文件名,“r”)
但它无法识别该文件是否存在。如果我将绝对路径放在文件名中,它就会工作。我不知道如何设置相对路径的格式?我尝试了一些版本的
。/../../../tests/test.txt
,但似乎无法使其正常工作。
文件的实际路径类似于
/Users/user\u name/parent\u dir/tests/test.txt

指定相对路径的../语法是正确的

但这与Lua脚本的位置无关,而是与当前工作目录有关

除非使用像LuaFileSystem这样的库,否则无法从Lua脚本中更改当前工作目录


如果正在运行单个脚本,则可以检查全局
arg[0]
(如果不是nil)是否包含该脚本的路径。您可以使用它从脚本位置构建绝对路径。

如果要使用相对路径(
。/../tests.txt
),则需要考虑当前工作目录来正确生成它。请尝试打印当前工作目录,并检查相对路径是否正确指向所需的文件。