【发布时间】:2015-07-07 18:39:29
【问题描述】:
我尝试从扩展名 .w3speech 中提取,并找到了一组似乎可以工作的 lua 代码,但是,我按照说明进行操作,但得到“权限被拒绝”。代码编写者没有回应......所以我只是希望有人能看看这个问题并提供一些指导。谢谢你。
Inspect_w3speech.lua
require("mod_binary_reader")
require("mod_w3strings")
local in_file = assert(arg[1], "\n\nno input\n")
local out_dir = arg[2] or "."
local debug = arg[3] or false
local r = BinaryReader
r:open(in_file)
mod_binary_reader.lua
assert(_VERSION == "Lua 5.3")
BinaryReader = {
f_handle = nil,`
f_size = 0
}
function BinaryReader:open(fullpath)
self.f_handle = assert(io.open(fullpath, "rb"))
self.f_size = self.f_handle:seek("end")
assert(-1 ~= self.f_size, "your Lua doesn't support files larger than 2 Gb")
self.f_handle:seek("set")
end
按照指示,我编写了一个简单的 bat 文件来读取 inspect_w3speech.lua,如下所示。
a:\vid_inwork\work\lua.exe inspect_w3speech.lua a:\vid_inwork\work a:\vid_inwork\work\out
但是,它给出了以下内容。
a:\vid_inwork\work\lua.exe: a:\vid_inwork\work\mod_binary_reader.lua:9: a:\vid_inwork\work: Permission Denied
stack traceback:
[C]: in function 'assert'
a:\vid_inwork\work\mod_binary_reader.lua:9: in method 'open'
inspect_w3speech.lua:9: in maind chunk
[C]: in ?
似乎卡在了inspect_w3speech.lua调用mod_binary_reader.lua的地方,不知道为什么。
这里是完整 lua 文件和示例 .w3speech 文件的链接。 https://drive.google.com/folderview?id=0ByIVyOBFNEN4fl9ic2ltdDFfckJnLVdQV1VnQmJ4TUxodmhwblY3dEt2UTIyWGFfbU1FeG8&usp=sharing
【问题讨论】:
-
a:\vid_inwork\work是要使用的文件吗?因为它看起来像一个目录,这是不对的。 -
是的...这是所有lua文件所在的地方...指令说要键入... lua inspect_w3speech.lua path_to.w3speech [output_dir [debug]] ...根据研究我了解到我应该这样输入,但如果是我不理解简单指令而不是代码,那么我很乐意纠正。
-
是的,
path_to.w3speech不是path to directory of .w3speech files。看代码。它在第一个参数上运行io.open,因此它需要是一个文件。 -
非常感谢!但是我应该把 .w3speech 文件的路径目录放在哪里? bat 文件给了我... mod_binary_reader.lua:9: path_to_w3speech: no such file or directory ... 我应该搜索 mod_binary_reader.lua 以添加或更改目录吗?
-
path_to.w3speech是一个占位符。您使用您希望脚本对其进行操作的.w3speech文件的路径。a:\vid_inwork\work\some_file.w3speech或其他。
标签: lua permission-denied