Поэтому я установил IronPython 3.4, чтобы заменить IronPython 2.7, который я использовал. Приведенный ниже код отлично работал в версии 2.7, но когда я использую его в версии 3.4, я получаю сообщение об ошибке: Microsoft.Scripting.SyntaxErrorException: «неверный синтаксис». Есть идеи? Спасибо.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
Microsoft.Scripting.Hosting.ScriptEngine pythonEngine = IronPython.Hosting.Python.CreateEngine();
Microsoft.Scripting.Hosting.ScriptSource pythonScript = pythonEngine.CreateScriptSourceFromString("print 'Hello World!'");
pythonScript.Execute();
}
}
}
Попробовал приведенный выше код, и он не работал, но работал в IronPython 2.7.
Это работало в IronPython 2.7?






IronPython 3.4 использует синтаксис python 3.4, где as IronPython 2.7 использует python 2.7.
В Python 2.7 print — это оператор, где, как и в Python 3, print — это функция (что означает, что вам нужно использовать круглые скобки для переноса аргументов). Итак, чтобы ваш код работал, вы должны изменить следующий раздел с
pythonEngine.CreateScriptSourceFromString("print 'Hello World!'");
^^^^^^^^^^^^^^^^^^^^
к
pythonEngine.CreateScriptSourceFromString("print('Hello World!')");
^^^^^^^^^^^^^^^^^^^^^
Хорошо спасибо. Так что в любом случае я мог бы заставить это работать, поскольку я новичок в python
print— это вызов функции в python3.