Vova Makarovych Asked:2020-11-18 03:43:02 +0000 UTC2020-11-18 03:43:02 +0000 UTC 2020-11-18 03:43:02 +0000 UTC 如何在Lua中传递文件路径? 772 我需要从函数中的文件中读取。文件在与代码相同的文件夹中。我这样通过:local inputFileName = [[ts.txt]] 但它会引发错误: ts.txt:没有这样的文件或目录) lua 2 个回答 Voted zed 2020-11-18T04:29:40Z2020-11-18T04:29:40Z 如果您需要打开与当前脚本位于同一文件夹中的文件,则必须首先确定脚本的完整路径,然后使用它构造并传递文件的完整路径。 有几种方法可以确定脚本的路径,例如,像这样: function script_path() local str = debug.getinfo(2, "S").source:sub(2) return str:match("(.*[/\\])") or ".\\" end 好吧,那么一切都很简单: local inputFileName = script_path() .. "ts.txt" Best Answer Ainar-G 2020-11-18T05:08:37Z2020-11-18T05:08:37Z 如果您从同一目录运行脚本,则一切正常。如果您在另一个目录中,则更改为它: $ cd /path/to/dir $ ls script.lua ts.txt $ lua ./script.lua 或者写一个绝对路径。路径可以在环境变量中设置: # Unix: export FILES_PATH="/path/to/dir" :: Windows: SET FILES_PATH="/path/to/dir" 并进入脚本: local dir = os.getenv("FILES_PATH") path = dir .. "/" .. "ts.txt"
如果您需要打开与当前脚本位于同一文件夹中的文件,则必须首先确定脚本的完整路径,然后使用它构造并传递文件的完整路径。
有几种方法可以确定脚本的路径,例如,像这样:
好吧,那么一切都很简单:
如果您从同一目录运行脚本,则一切正常。如果您在另一个目录中,则更改为它:
或者写一个绝对路径。路径可以在环境变量中设置:
并进入脚本: