在Python中,如何导入lua文件中定义的变量?
我有一些lua文件需要用Python阅读。我希望能够导入变量(主要是表) LUA文件的示例:在Python中,如何导入lua文件中定义的变量?,python,lua,Python,Lua,我有一些lua文件需要用Python阅读。我希望能够导入变量(主要是表) LUA文件的示例: print("lua display text") Civs = { CIVILIZATION_EGYPT = { -- lua comment 1 Playable = true, SpawnYear = -3000, StartX = 75, StartY = 32, Table = {
print("lua display text")
Civs = {
CIVILIZATION_EGYPT = { -- lua comment 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 comment 2
如果只定义了变量,我想我可以直接导入该文件,它将作为python运行。但也有一些注释甚至打印命令导致此操作失败。
- 从Python读取文件,并将变量解析为Python变量
- 在Lua中序列化这些变量,并在Python中反序列化它们
- 使用自定义Lua解释器执行该代码,然后通过pythonapi提供该数据
如果您希望自动执行此操作,第二种方法将要求您解析Lua代码并注入自己的代码,以便可以序列化变量。因此,您可以使用第一种方法。“如果只定义了变量,我想我可以导入该文件,它将以python的形式运行”嗯,不?您必须编写一个理解lua语法的解析器。如果您可以使用lua读取您的lua文件,然后将其导出为JSON,那么就更容易了。JSON看起来确实是这里最好的选择,只想提到这个库:从python调用lua(不知道它工作得有多好)@juanpa.arrivillaga no确实:-)谢谢,我只想到了第三个选项。但我认为第一种选择(如果我理解正确,即逐行阅读)意味着每次修改文件结构时都要维护和更新解析器,这是我不想做的。选择第三种选择。