我试图在erlang中使用追加模式在文件中写一些内容,但它将错误视为错误的参数。
Syntax used: file:write_file("/tmp/test1.txt","Abhimanyu","append").
error:{error,badarg}
谢谢
答案 0 :(得分:17)
file:write_file
函数要求最后一个参数是atoms iso字符串的列表,因此将实现更改为file:write_file("/tmp/test1.txt","Abhimanyu", [append]).
可以解决您的问题。更多示例可以在TrapExit找到。
答案 1 :(得分:7)
在“如果不存在则不创建”附加问题上,您必须通过使用类似文件的内容来提高创意:read_file_info:
case file:read_file_info(FileName) of
{ok, FileInfo} ->
file:write_file(FileName, "Abhimanyu", [append]);
{error, enoent} ->
% File doesn't exist
donothing
end.
如果文件不存在,附加模式(或写入模式)将创建文件...
答案 2 :(得分:4)
我相信你需要:
file:write_file("/tmp/test1.txt", "Abhimanyu", [append]).
我认为您可能还需要将数据转换为二进制文件。