如何从另一个Lua脚本中运行具有用户指定参数的Lua脚本?
下面的代码有效吗?其中"content_image“是我指定的输入映像(或者保存到图像文件中,或者仍然保存在脚本中)到"deepdream.lua”脚本,而"output_image“是我想在Lua脚本中使用的"deepdream.lua”脚本的输出。
dofile("deepdream.lua -content_image content_image -output_image output_image")我正在另一个Lua脚本中运行的脚本可以在这里找到:https://github.com/bamos/dream-art/blob/master/deepdream.lua
发布于 2017-03-09 17:41:37
如果您想通过传递多个参数来加载和执行一个脚本,您必须通过.通过传递多个参数加载脚本并执行它:
local chunk = loadfile("deepdream.lua")
chunk("-content_image", "content_image", "-output_image", "output_image")请注意,这不会像args那样为参数填充lua.exe。它将把参数作为可变参数传递,就像任何其他Lua函数一样。所以它可以扰乱你的全球等等。而且,与执行lua.exe不同,这将在当前进程中执行,因此,如果出现错误,则必须由您处理该错误。
如果您愿意的话,编写一个使用您提供的字符串、使用Lua模式解析参数等的函数,然后用这些参数加载脚本,这并不困难。
如果您想像在脚本上使用lua.exe那样执行脚本,那么只需使用os.execute。
os.execute("lua.exe deepdream.lua -content_image content_image -output_image output_image")发布于 2017-03-09 18:11:31
您可以在arg中对参数使用loadfile:
loadfile("deepdream.lua")({content_image="content_image",output_image="output_image"})在deepdream.lua中:
local arg={...}
local content_image = arg[1].content_image
local output_image = arg[1].output_imagehttps://stackoverflow.com/questions/42701835
复制相似问题