我无法弄清楚如何让prolog吐出我想要的文本文件。我目前正在做一堆操作,然后使用
tell('output.txt')
记录输出。现在的问题是,当我这样做时,它会在SWI \ bin \文件夹中创建此文件。我想知道是否有办法让它在包含实际.pl文件的目录中创建此文件。因此,即使文件被移动(它将是),文本文件也会在源文件的位置创建。
长话短说,有没有办法在查询源文件后获取源文件的位置?
非常感谢!
答案 0 :(得分:0)
您可以使用source_file/1
获取所有已加载文件的名称。
来自SWI-Prolog手册:
source_file(?File)
如果File是加载的Prolog源文件,则为true。文件是绝对的 源文件的规范路径。