我们在 C# 上使用 IronPython,我在控制台和我们的应用程序上得到不同的结果。
此代码在 IronPython 控制台上运行良好:
str=[]
a = 1
b = 0
c = 1
if a==1:
str.append('One')
if b==1:
str.append('Two')
if c==1:
str.append('Three')
out=','.join(str)
print out
但是同样的代码在我们的应用程序上返回一个错误:
unexpected token 'if'
我怀疑问题出在我的换行符上,因为包含 Python 代码的字符串是通过 XML (XML>C#>Python) 传递的:
<Set key="PythonCode" value="ipy:str=[]
a = 1
b = 0
c = 1
if a==1:
str.append('One')
if b==1:
str.append('Two')
if c==1:
str.append('Three')
out=','.join(str)"/>
其他命令返回预期结果,我的问题是缩进命令(条件、循环)。
由于我无法访问 C# 代码,因此我寻找一种编写单行代码的方法,或者任何其他不依赖缩进或换行符的方法。我试过这个:
<Set key="PythonCode" value="ipy:str=[];
a = 1;
b = 0;
c = 1;
if a==1: str.append('One');
if b==1: str.append('Two');
if c==1: str.append('Three');
out=','.join(str);"/>
但是我又遇到了同样的错误,因为每个条件后面都应该有一个空行。
有任何想法吗?