C++からPythonスクリプトを呼び出し、このスクリプトで生成された出力.csvファイルをC++に戻したいとします。私はmain()でこれを試しました:C++からPythonスクリプトを呼び出して出力を使用する
std::string filename = "/home/abc/xyz/script.py";
std::string command = "python ";
command += filename;
system(command.c_str());
これはpythonスクリプトを呼び出して実行します。
Pythonのprint
コマンドが実行されています。スクリプトが呼び出されると、画面に物が印刷されています。ここまでは順調ですね。ただし、.csvファイル(同じスクリプトの一部)は作成されません。
例:のエントリがのtraining.csv
のファイルがありました。 training.csv
ファイルには100個ではなく50個のエントリしか含めることができないように、スクリプトを少し変更してPythonスクリプトを呼び出しました。上書きされます。しかし、そのようなことは起こっていません。スクリプト内の残りのコマンド(print
など)は完全に動作しています。
training.csv
ファイルは、通常、fstream
とgetline
を使用してC++で読み取られます。
どうすればいいですか(Linuxを使用していますか?
OS固有です。あなたはどちらですか? – StoryTeller
シェルを使ってPythonインタプリタの呼び出しを処理する代わりに、Pythonを埋め込む(そして拡張する)方法を調べることができます。 –
プラットフォームによって異なります。 WindowsとUnixには異なるアプローチがあります。あなたはどちらですか?そして、これに関するPython固有のものは何もありません。 – user9876