在lua中打开(创建)非现有文件

时间:2014-08-27 06:29:56

标签: file printing lua arguments

我试图将configtable(解析为字符串)保存到即将创建的文件中。

local cfg_string = table.tostring(cfg_table)
local file_name = ""
local cfg_file = ""

file_name = com:line(nil)    -- reads a line of input from user via terminal
file_name = string.format("some_prefix-%s-some_suffix.lua",file_name)
-- file does NOT exist at this line

cfg_file = io.open("/dir/subdir/"..file_name,"w")
-- file now should exist

os.syslog(type(file_name)) -> string
os.syslog(type(cfg_file)) -> nil
os.syslog(type(cfg_string)) -> string
cfg_file:write(cfg_string)

cfg_file:write(cfg_string)throws"尝试调用"写"零值"。 所以,我知道,cfg_file是零,但为什么呢?我也尝试过io.open()和#34; a"旗帜,但这也不起作用。该目录存在!

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

实际上,我的代码正在运行。抛出错误是因为对dir的missig写入权限。

每个有这种错误的人都应该尝试

handle_name, err = io.open(file,"w")
print(err)