IronPython 3.4代码报错:原2.7可用代码出现语法错误
问题原因与修复方案
核心原因:IronPython 3.4对齐Python 3语法规范,你嵌入的
print 'Hello World!'是Python 2的语法——Python 2中print是语句,无需括号;但Python 3里print是内置函数,必须以**函数调用形式(带括号)**使用,这就是触发语法错误的直接原因。修复后的代码:
将C#中嵌入的Python代码字符串修改为带括号的函数调用形式即可,修改后的完整代码如下:
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(); } } }
内容的提问来源于stack exchange,提问作者charliewhittaker
相关产品推荐
相关产品推荐

