我试图将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"旗帜,但这也不起作用。该目录存在!
感谢您的帮助。
答案 0 :(得分:2)
实际上,我的代码正在运行。抛出错误是因为对dir的missig写入权限。
每个有这种错误的人都应该尝试
handle_name, err = io.open(file,"w")
print(err)