如何在 Lua 脚本中加载 host.conf 文件变量

我需要在 Lua 脚本中加载 .conf 文件中的配置变量,并使用这些变量连接到数据库。我已经尝试过以下方法:

require "host.conf"
loadfile("host.conf") - 遇到意外的令牌 '#' 错误
os.execute("pathToConfFile/host.lua") - 我在 bash shell 中创建了一个包含变量的 Lua host 文件
io.popen("host.conf") 等等。

这些解决方案都无效。 有没有办法在 Lua 中使用现有的 host.conf 文件,避免非预期的令牌错误? 感谢您的建议。

点赞
用户3342050
用户3342050
local original = io.open('host.conf')
local hostconf = {}  --  将内容复制到 Lua 表中

for line in original:lines() do
    table.insert(hostconf, line)
end
io.close(original)

print(hostconf[1])  --  输出第一行

你还没有说明您的 host.conf 以什么格式出现,但您可能希望将其解析得更好,而不仅仅是将内容放入列表中。也许可以根据分隔符(逗号、空格或其他在变量和值之间的内容)将每行分为头/尾。
2021-01-15 21:40:40
用户88888888
用户88888888

感谢所有帮助过我的人。我的问题不够明确,在提问之前我还需要了解更多,对此我很抱歉。这就是我用来解决问题的代码。

local open = io.open

local function read_file(path)
    local file = open(path, "r")
    if not file then return nil end
    local content = file:read "*a" -- *a 或 *all 读取整个文件

    local lines = {}

    for line in io.lines(path) do
        --print(line);
        if(line:find(var)~=nil)then
           local varStart=string.len(var)+2
           local varEnd=string.len(line)
           var=string.sub(line,varStart,varEnd)
           print(var);
        end
-- 对每一行进行重复操作

    end
    file:close()
    return lines;
end

local fileContent = read_file("path");
2021-01-19 11:28:29