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