2017-08-06 2 views
4

swi-prolog Pythonファイルscore.pyを実行して出力を得るにはどうすればよいですか?swi-prologで実行されるpythonスクリプトからの出力値の取得方法

私は約process_create/3exec/1を読んだが、私はあなたがstdout/1stderr/1オプションprocess_create/3を使用する必要がある多くのドキュメント

+0

「出力を得る」とはどういう意味ですか? – Skam

+1

[process_create/3'の文書(http://www.swi-prolog.org/pldoc/doc_for?object=process_create/3)の一番下に、おおよそ何をしているかの例があります。 – mercator

答えて

2

を見つけることができません。あなたは、他のストリームに出力を書き込むためにcopy_stream_data/2コールを適応させることができ

 
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). 

例えば、ここに標準 出力単にコピープロセス出力の単純な述語があります。

関連する問題