如何打开相对于执行 Lua 文件的 txt 文件?

Posted

技术标签:

【中文标题】如何打开相对于执行 Lua 文件的 txt 文件?【英文标题】:How can I open a textfile, relative to an executed Lua file? 【发布时间】:2021-09-03 02:10:18 【问题描述】:

我在 Bizhawk 模拟器的 Lua 控制台中。我想编辑GBA游戏的Ram。

我有一个包含 Lua 文件的目录和另一个文件夹,其中包含一个文本文件。我设法通过使用绝对路径从中读取文本,但我想让它使用相对路径。

我尝试使用arg[0] 来获取文件的路径,但它为零。 这输出我'ain':debug.getinfo(1,"S").source:sub(2)

【问题讨论】:

你在哪个环境? 这能回答你的问题吗? Get containing path of lua file 我在 Bizhawk 模拟器的 Lua 控制台中。我想编辑 GBA 游戏的 Ram...在我在 Zerobrane 中测试它之前,arg[0] 和 debug.getinfo(1,"S").source:sub(2) 可以工作,但在 Bizhawks Lua Console 中它会抛出我的错误。不,您的链接帖子没有回答我的问题,因为它们完全按照我已经尝试过的方式进行。 那是一个基于 Windows 的程序,对吧?当你print( io.popen('cd'):read('*a') ) 时会发生什么 好吧,如果您无法使用 Lua 的标准函数获取路径,并且 Bizhawk 文档中没有任何内容,您可能无法获取文件路径。我建议你到时候与开发人员联系。 【参考方案1】:

好的,这对我有用: print( io.popen('cd'):read('*a') )

感谢您的帮助!

【讨论】:

以上是关于如何打开相对于执行 Lua 文件的 txt 文件?的主要内容,如果未能解决你的问题,请参考以下文章

文件操作

在 Python 中的相对位置打开文件

总结文件打开及操作

Unity中lua 的 io.open() 文件路径的问题

怎么运行LUA文件

Lua入门 —— 一些常用的琐碎