質問編集履歴

1

ソースコードの追記

2020/06/14 06:42

投稿

kohehe
kohehe

スコア13

test CHANGED
File without changes
test CHANGED
@@ -11,3 +11,165 @@
11
11
 
12
12
 
13
13
  やりたいことは、pythonの日本語出力をunity上のコンソールで正しく表示することです。知恵をお貸しください。お願いします。
14
+
15
+
16
+
17
+
18
+
19
+ すみません。追記のソースコードです。
20
+
21
+ ```ここに言語を入力
22
+
23
+ python
24
+
25
+
26
+
27
+ import sys
28
+
29
+ playerSelect=str(sys.argv[1])
30
+
31
+ print( "REPLY[" + playerSelect + "]:" + "日本語" )
32
+
33
+
34
+
35
+ ```
36
+
37
+
38
+
39
+ ```ここに言語を入力
40
+
41
+ C#
42
+
43
+
44
+
45
+ using System.Collections;
46
+
47
+ using System.Collections.Generic;
48
+
49
+ using UnityEngine;
50
+
51
+ using System.IO;
52
+
53
+ using System.Diagnostics;
54
+
55
+
56
+
57
+ public class PythonGo : MonoBehaviour
58
+
59
+ {
60
+
61
+ //pythonの場所
62
+
63
+ private string pyExePath = @"C:\Users\81909\AppData\Local\Programs\Python\Python37\python.exe";
64
+
65
+
66
+
67
+ //実行したいスクリプトがある場所
68
+
69
+ private string pyCodePath = @"C:\Users\81909\Desktop\MeCab\MeCabPython\otameshi.py";
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+ // Start is called before the first frame update
78
+
79
+ private void Start()
80
+
81
+ {
82
+
83
+ //外部プロセス設定
84
+
85
+ ProcessStartInfo processStartInfo = new ProcessStartInfo() {
86
+
87
+
88
+
89
+ //実行するpythonファイル
90
+
91
+ FileName = pyExePath,
92
+
93
+
94
+
95
+ //WorkingDirectory = @cd,
96
+
97
+
98
+
99
+ //シェルを使うかどうか
100
+
101
+ UseShellExecute = false,
102
+
103
+
104
+
105
+ //ウィンドゥを開くかどうか
106
+
107
+ CreateNoWindow = true,
108
+
109
+
110
+
111
+ //テキスト出力をStandardOutputストリームに書き込むかどうか
112
+
113
+ RedirectStandardOutput = true,
114
+
115
+
116
+
117
+ //実行スクリプト 引数(複数可能)
118
+
119
+ Arguments = pyCodePath + " " + "\"日本語\""
120
+
121
+
122
+
123
+ };
124
+
125
+
126
+
127
+ //外部プロセス開始
128
+
129
+ Process process = Process.Start(processStartInfo);
130
+
131
+
132
+
133
+ //ストリームからの出力を得る
134
+
135
+ StreamReader streamReader = process.StandardOutput;
136
+
137
+ string str = streamReader.ReadLine();
138
+
139
+
140
+
141
+ //外部プロセス終了
142
+
143
+ process.WaitForExit();
144
+
145
+ process.Close();
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ //実行
158
+
159
+ print(str);
160
+
161
+
162
+
163
+
164
+
165
+ }
166
+
167
+
168
+
169
+
170
+
171
+ }
172
+
173
+
174
+
175
+ ```