Python中如何导入lua文件中定义的变量?

我有一些需要在Python中阅读的lua文件,我希望能够导入变量(大多数为表格)。

LUA文件示例:

print(“lua显示文本”)

Civs = {
    CIVILIZATION_EGYPT = { -- lua注释1
        Playable = true,
        SpawnYear = -3000,
        StartX = 75,
        StartY = 32,
        Table = { },
        Text = “abc”,
        TableTable = { {“a”}, {“b”}, {“c”}, {“d”}, {}, {}, {}},
    };
    CIVILIZATION_INDIA = {
        Playable = true,
        SpawnYear = -3000,
        StartX = 98,
        StartY = 42,
        Table = { },
        Text = “abc”,
        TableTable = { {“a”}, {“b”}, {“c”}, {“d”}, {}, {}, {}},
    };
    CIVILIZATION_BABYLON = {
        Playable = true,
        SpawnYear = -3000,
        StartX = 84,
        StartY = 41,
        Table = { },
        Text = “abc”,
        TableTable = { {“a”}, {“b”}, {“c”}, {“d”}, {}, {}, {}},
     }
}
-- lua注释2

如果只有变量被定义,我想我可以导入文件并且它会运行Python。但是有注释甚至打印的命令会导致失败。

点赞
用户2858170
用户2858170
  • 从 Python 中读取文件并将变量解析为 Python 变量

  • 在 Lua 中对这些变量进行序列化并在 Python 中对它们进行反序列化

  • 使用自定义 Lua 解释器执行该代码,然后通过 Python API 提供数据

如果你想自动实现这一点,第二种方法需要你解析 Lua 代码并注入自己的代码以便序列化变量。因此,你可以选择第一种方式。

2021-04-06 04:59:25