4
我怎样才能让一个swi-prolog
程序执行Python文件score.py
并得到执行的输出python脚本获取产值?如何从SWI-序言
我读过有关process_create/3
和exec/1
但我无法找到太多的文档
我怎样才能让一个swi-prolog
程序执行Python文件score.py
并得到执行的输出python脚本获取产值?如何从SWI-序言
我读过有关process_create/3
和exec/1
但我无法找到太多的文档
您需要使用stdout/1
和stderr/1
选项process_create/3
。
例如,下面是一个简单的断言,仅仅副本过程输出到标准 输出:
output_from_process(Exec, Args) :- process_create(Exec, Args, [stdout(pipe(Stream)), stderr(pipe(Stream))]), copy_stream_data(Stream, current_output), % the process may terminate with any exit code. catch(close(Stream), error(process_error(_,exit(_)), _), true).
您可以调整copy_stream_data/2
调用输出写入到任何其他流。
什么叫“得到输出”是什么意思? – Skam
有在底部的例子['process_create的文档/ 3'(http://www.swi-prolog.org/pldoc/doc_for?object=process_create/3),做大概你想要的。 – mercator