Prolog:看不到文件

时间:2016-06-16 20:23:57

标签: prolog

我正在学习如何在prolog中编程。我目前正在学习I / O并遇到以下问题。

我想使用此程序读取文件dane.txt

czytajPlik :-
    open('dane.txt',read,X),
    current_input(CI),
    set_input(X),
    kodOdczytujacy,
    close(X),
    set_input(CI).

kodOdczytujacy :- read(Term), obsluz(Term).

obsluz(end_of_file):-!.
obsluz(Term) :-
         write(Term),nl,kodOdczytujacy.

然而,在Prolog中,当我尝试使用czytajPlik.时,我收到以下错误:

ERROR: open/3: source_sink `'dane.txt'' does not exist (No such file or directory)

该文件存在并具有正确的名称。

1 个答案:

答案 0 :(得分:1)

错误意味着Prolog解释器(我猜测SWIPl)无法打开文件,因为它无法找到该文件。

默认情况下,解释器会查看它所在的目录。您应该使用路径限定文件,或者cd到正确的目录。

因此,当文件位于~/prologstuff时,请说明您已从目录~/misc启动了Prolog。

czytajPlik :-
    cd('../misc'),
    open('dane.txt',read,X),
    ...

czytajPlik :-
    open('../misc/dane.txt',read,X),
    ...

应该解决你的问题。