Erlang:异常错误:阅读文本文件时,右侧值{error,enoent}不匹配

jqjz2hbq  于 2022-12-08  发布在  Erlang
关注(0)|答案(3)|浏览(252)

我目前正在做一个Erlang项目,在阅读文件时遇到了麻烦。我想读取/src文件夹中的一个文本文件,其中所有的Erlang和一个文本文件都在同一个结构中。另外,尽管指定了文件路径,我还是无法读取该文件。如有任何帮助,将不胜感激。

start() ->
    {ok,DataList} = file:consult("Calls.txt"),
    io:format("** Calls to be made **"),
    io:fwrite("~w~n",[DataList]).

数据文件存储如下内容:{约翰,[吉尔,乔,鲍勃]}。

6jygbczu

6jygbczu1#

请尝试将文件夹名称添加到路径或尝试将完整修补程序设置到文件:

1> {ok,DataList} = file:consult("src/Calls.txt").

注意:错误{error,enoent}意味着文件不存在或您没有权限读/写当前文件,对于这种情况需要设置777权限或类似。

iyfamqjs

iyfamqjs2#

如果您需要使用src/call.txt,则这只意味着您的IDE(或您)创建了一个src文件夹,calls.txt文件放置在该文件夹中。同时,IDE使用的路径仅包含顶级文件夹(即IDE项目的根文件夹)。因此在这种情况下必须使用src/call.txt。这不是Erlang的问题,或者甚至是IDE,这只是项目的设置方式。
您可以执行以下两种操作之一:在IDE文件管理器中将calls.txt文件上移一级,以便可以将其作为calls.txt而不是src/call.txt引用.您也可以在从命令行运行该文件之前,将路径更改为“calls.txt.”

rur96b6h

rur96b6h3#

enoent表示“错误:没有条目/实体”。这意味着文件找不到。当我尝试你的代码,它工作正常,输出

[{john,[jill,joe,bob]}]

相关问题