【问题标题】:Prolog - Finding the current directory, relative directory for 'tell' predicateProlog - 查找当前目录,'tell'谓词的相对目录
【发布时间】:2010-04-14 12:31:40
【问题描述】:

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

tell('output.txt')

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

长话短说,有没有办法在查阅源文件后获取源文件的位置?

非常感谢!

【问题讨论】:

    标签: logic prolog swi-prolog


    【解决方案1】:

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

    来自 SWI-Prolog 手册:

    source_file(?File)

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

    【讨论】:

    • 谢谢!我现在只需要解析它^^
    猜你喜欢
    • 2011-07-05
    • 2017-01-07
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多