如何在Lua中进入上级目录?

假设我有这样的根目录:

--+ 文件夹
  +-+ 其他文件夹
  | +-- main.lua
  +-+ 另一个文件夹
    +-- output.txt

我想让main.lua使用io.output()并将.txt文件设置为在“另一个文件夹”文件夹中。我应该怎么做?

我尝试过使用io.output(";../AnotherFolder/output.txt)io.output("../AnotherFolder/output.txt),但它们都给我“没有这样的文件或目录”错误(文件确实存在)。

点赞
用户3530275
用户3530275

文件路径是相对于运行脚本的目录的。

例如,假设我有如下的目录结构:

foo/
  bar/
    main.lua
  baz/
    file.txt

我的 main.lua 文件长这样:

io.output('../baz/file.txt')
io.write('Hello World!')

如果我从bar目录中运行程序,它可以正常工作;但如果我从foo目录中运行它,就会收到错误信息:

cannot open file '../baz/file.txt' (No such file or directory)

你需要把文件路径改为baz/file.txt,这样它才能从该目录正常工作。

2020-06-12 02:19:59