file - 在 Love2D 中读取 txt 文件时遇到问题
问题描述
我正在尝试从 Lua 中的一个 txt 文件中读取,如下所示(main.lua):
local function read_file(filename)
contents = io.open(filename, "r")
if contents == nil then
return false
else
io.close(contents)
return true
end
end
if read_file("myfile.txt") then
print("Yes")
else
print("Not found")
end
但是,即使 myfile.txt 与 main.lua 位于同一目录中,它也会不断返回“未找到”。我目前正在使用带有 Love2D 引擎的 Lua。
解决方案
虽然你可能想io
在 LÖVE 中使用 Lua,但我建议不要这样做。
LÖVE 有它自己的love.filesystem
. 考虑:
if love.filesystem.getInfo("myfile.txt") then
print("Yes")
print(love.filesystem.read("myfile.txt"))
else
print("Not found")
end
love.filesystem
LÖVE 支持的平台之间的行为是一致的,简而言之,对于选定的操作,它是:
- 文件的写入/附加路径是相对于保存目录的。
- 首先根据保存目录解析读取路径。如果未找到任何内容,则根据爱档案的内容或(如果适用)源目录解析路径。
保存目录是供您的应用程序使用的特殊目录。如有疑问,请参阅LÖVE 的 wiki。
至于为什么问题中的示例可能不起作用 - 请参阅 Egor 的评论。
推荐阅读
- python - 如何找到系列中的加权平均值?
- java - 如何知道文件在 Hadoop MapRedcue 的 Mapper 函数中被完全读取?
- python - slack-api 中是否可以有多个包含不同数据的外部选择菜单?
- python-3.x - 从 TF 数据集获取样本
- javascript - 即使所有轨道关闭,停止共享按钮也不会消失?
- python - 从数据框中的句子中的两个列表中提取单词
- django - 将图像渲染到 Django 管理中的选择/字符字段
- javascript - Electron“处理程序中发生错误” ipcRenderer.invoke
- python - 私有数据集的正确 GCS 路径是什么?
- android - 我们如何在 Scala 中使用 android JobIntentService?