从文件中提取 - 拒绝访问权限。

我尝试从一个扩展名为.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

按照指示,我编写了一个简单的批处理文件,用于读取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

点赞
用户258523
用户258523

你正在使用一个目录作为第一个参数来调用脚本

a:\vid_inwork\work\lua.exe inspect_w3speech.lua a:\vid_inwork\work a:\vid_inwork\work\out

但实际上它需要的是一个文件名。

所以请给它一个你想要操作的文件的路径。

a:\vid_inwork\work\lua.exe inspect_w3speech.lua a:\vid_inwork\work\some_file.w3speech a:\vid_inwork\work\out
2015-07-07 19:26:58