Unityからpythonを使いたいと思い、
macOSX10.5でこの記事を参考に、以下のようなコードを書きました。
C#
1using System.Diagnostics; 2using System.IO; 3using UnityEngine; 4 5public class test : MonoBehaviour { 6 //pythonがある場所 7 private string pyExePath = @"/Users/takabatomoki/.pyenv/shims/python3"; 8 9 //実行したいスクリプトがある場所 10 private string pyCodePath = @"./for_unity/test.py"; 11 12 private void Start () { 13 //外部プロセスの設定 14 ProcessStartInfo processStartInfo = new ProcessStartInfo() { 15 FileName = pyExePath, //実行するファイル(python) 16 UseShellExecute = false,//シェルを使うかどうか 17 CreateNoWindow = true, //ウィンドウを開くかどうか 18 RedirectStandardOutput = true, //テキスト出力をStandardOutputストリームに書き込むかどうか 19 Arguments = pyCodePath, //実行するスクリプト 引数(複数可) 20 }; 21 22 //外部プロセスの開始 23 Process process = Process.Start(processStartInfo); 24 25 //ストリームから出力を得る 26 StreamReader streamReader = process.StandardOutput; 27 string str = streamReader.ReadLine(); 28 29 //外部プロセスの終了 30 process.WaitForExit(); 31 process.Close(); 32 33 //実行 34 print(str); 35 } 36}
python
1print("Hello Wotrld")
ですが、いざ実行させても、出力はNullのままで
C#側から呼び出されているのか、よくわかりません
test.py単体は実行してもなんら問題なく動いてくれているので
C#側で問題があるかと思います
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/25 16:13