Logic Prolog-查找当前目录,以及';告诉';谓语

Logic Prolog-查找当前目录,以及';告诉';谓语,logic,prolog,swi-prolog,Logic,Prolog,Swi Prolog,我在试图弄清楚如何让prolog在我想要的地方吐出一个文本文件时遇到了麻烦。我目前正在做一系列的操作,然后使用 tell('output.txt') 记录输出。现在的问题是,当我这样做时,它会在SWI\bin\文件夹中创建此文件。我想知道是否有办法让它在包含实际.pl文件的目录中创建此文件。因此,即使文件被移动(将来也会移动),文本文件也会在源文件所在的位置创建 长话短说,一旦查阅了源文件,是否有办法获得源文件的位置 非常感谢 您可以使用源文件/1获取所有加载文件的名称 从SWI Prolog

我在试图弄清楚如何让prolog在我想要的地方吐出一个文本文件时遇到了麻烦。我目前正在做一系列的操作,然后使用

tell('output.txt')
记录输出。现在的问题是,当我这样做时,它会在SWI\bin\文件夹中创建此文件。我想知道是否有办法让它在包含实际.pl文件的目录中创建此文件。因此,即使文件被移动(将来也会移动),文本文件也会在源文件所在的位置创建

长话短说,一旦查阅了源文件,是否有办法获得源文件的位置


非常感谢

您可以使用
源文件/1
获取所有加载文件的名称

从SWI Prolog手册:

源文件(?文件)

如果文件是加载的Prolog源文件,则为True。文件是绝对的和绝对的 源文件的规范路径


谢谢我现在只需要解析它^^