Я написал приложение для простого языкового переводчика с использованием IronPython и вызываю код на Python через консольное приложение C #.Я тестировал код Python отдельно, и он отлично работает.Однако, когда я вызываю код Python через приложение C #, оно всегда выдает сообщение об ошибке Microsoft.Scripting.SyntaxErrorException: 'неожиданный токен' append '' .
ScriptEngine engine = Python.CreateEngine();
ScriptSource source = engine.CreateScriptSourceFromFile(@"D:\Projects\Translator.py");
ICollection<string> Paths = engine.GetSearchPaths();
Paths.Add(@"C:\Program Files\Python37\Lib\");
Paths.Add(@"C:\Program Files\Python37\Lib\site-packages\");
engine.SetSearchPaths(Paths);
ScriptScope scope = engine.CreateScope();
source.Execute(scope);
dynamic GoogleTranslator = scope.GetVariable("GoogleTranslator");
dynamic gTranslator = GoogleTranslator();
gTranslator.SetInfo("'Привет, корова мальчик'");
var result = gTranslator.Translate();
Console.Write(result);
Console.Read();
---------- Код Python -----------
from googletrans import Translator
class GoogleTranslator(object):
Text = ""
Dest = ""
def SetInfo(self, text, dest = 'en'):
self.Text = text
self.Dest = dest
def Translate(self):
translator = Translator()
result = translator.translate(self.Text, self.Dest)
return result.text
Может кто-нибудь сказать мне, в чем проблема с кодом.Ошибка генерируется из «source.Execute (scope);»