标签: ironpython

IronPython - JSON选择

在IronPython 2.0.1中处理JSON的最佳方法是什么.原生Python"标准库"json看起来尚未实现.

如果我想使用Newtonsoft Json.NET库,我该怎么做?我可以将程序集添加到GAC,但我的其他选择是什么?

.net json ironpython dynamic-language-runtime

4
推荐指数
1
解决办法
2927
查看次数

IronRuby和IronPython之间的性能比较

我们的目标是使用DLR的Microsoft.Scripting和托管程序集来实现脚本机制.

现在,有人知道IronRuby 1.0和IronPython 2.6之间的性能差异吗?

根据我的理解,他们有不同的编译器,但IronPython似乎更成熟和测试,但如果有人有关于这个问题的文档或知识,那将不胜感激.

.net performance ironpython ironruby

4
推荐指数
1
解决办法
745
查看次数

IronPython在C#中的集成:一个特定的问题/问题

我正在通过IronPython为我的C#mapmaking应用程序提供可扩展性机制.一切正常,但我有一个特定的要求,我无法实现:我希望用户能够指定两件事:

  1. 要加载的Python脚本的文件名
  2. 包含Python脚本的单行字符串,通常是从该Python文件调用函数(示例getTextLabel(element))

这两个设置必须是分开的,但我不知道是否可以使用PythonScript相关类来完成此操作.

我是Python的新手,或许有另一种方法可以实现这一目标?出于性能原因,我想避免多次加载和编译Python脚本文件(因为可能存在上面提到的几个不同的"函数调用"设置,CompiledCode如果可能的话我想重用该文件的实例).

更新:@digEmAll给出了我的问题的正确答案,所以我接受它作为一个有效的答案.但如果你关心表现,你也应该看看我自己的答案.

c# ironpython

4
推荐指数
1
解决办法
3675
查看次数

如何让PyCharm/PyDev /其他IDE为IronPython命名空间提供代码完成?

我喜欢PyCharm并且以前用过我的Python项目,但是我刚开始搞乱IronPython而且我无法弄清楚如何使PyCharm或任何其他IDE(除了VS工作正常)识别.NET库.

例如,我有代码:

from System.Environment import *

path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,但"系统"部分用"未解析的参考系统"消息下划线为灰色.IronPython文档解释说System不是模块,而是命名空间.如果type(system)我得到了<type 'namespace#'>.那么有没有办法让PyCharm/PyDev识别命名空间呢?另外,PATH很好,一切都很好.

python ironpython namespaces pydev pycharm

4
推荐指数
1
解决办法
1972
查看次数

将DataTable传递给IronPython

我有一个.NET项目,我正在使用IronPython来执行一些数据处理.目前,C#代码循环并为每个需要动态计算的行和列生成IronPython脚本.但是,我想通过传入DataTable对象和一个针对它执行的脚本来提高进程的效率.不幸的是,我收到'DataTable' object is unsubscriptable错误,没有处理.

C#片段生成并执行IronPython脚本:

DataTable dt = new DataTable();
dt.Columns.Add("count", typeof(int));
dt.Columns.Add("calc", typeof(int));
dt.Rows.Add(1, null);

ScriptEngine engine = Python.CreateEngine(options);
ScriptScope scope = engine.CreateScope();
scope.SetVariable("dt", dt);
ScriptSource source = engine.CreateScriptSourceFromString(code, SourceCodeKind.AutoDetect);
object result = source.Execute(scope);
DataTable table = scope.GetVariable<System.Data.DataTable>("dt");
Run Code Online (Sandbox Code Playgroud)

要对表执行的Python脚本:

import clr
clr.AddReference('System.Data')
from System import Data
from System.Data import DataTable
for row in dt.Rows:
    dt["calc"] = dt["count"] + 1
Run Code Online (Sandbox Code Playgroud)

如何修复'DataTable' object is unsubscriptable错误,还是有更好的方法来处理将DataTable传递给IronPython?

.net c# python ironpython

4
推荐指数
1
解决办法
3068
查看次数

如何将IronPython作为脚本运行

我想将ironpython作为脚本运行,而不是将ironpython代码编译成可执行文件。有没有办法将ironpython作为脚本运行?

ironpython

4
推荐指数
1
解决办法
4502
查看次数

停止在IronPython中运行的所有线程

如果我在C#线程中启动IronPyThon引擎,python脚本将启动许多线程.但是,当我杀死C#线程时,python脚本中的所有线程仍在运行.如何杀死Python脚本中的所有线程?

c# ironpython

4
推荐指数
1
解决办法
816
查看次数

使用IronPython在SQL Server Analysis Services上执行查询

我可以使用Microsoft.AnalysisServices.dll,使用Python连接到SQL Server Analysis Service ,但现在无法在多维数据集上执行查询。

我尝试过Execute以下方法:

amoServer.Execute('select from finance')
Run Code Online (Sandbox Code Playgroud)

发出Execute方法后,我出现此错误:

<Microsoft.AnalysisServices.XmlaError object at 0x000000000000002B [Microsoft.AnalysisServices.XmlaError]>
Run Code Online (Sandbox Code Playgroud)

注意:我在Windows Server 64Bit上将IronPython与Python 2.7一起使用。

有什么问题?

sql sql-server ssas ironpython

4
推荐指数
1
解决办法
2704
查看次数

删除spotfire Data Table Iron python上的所有行

我正在寻找一种方法来删除我在SPOTFIRE上的数据表中的行,我找不到合适的方法来做到这一点.

我试图编写一个脚本来执行它,但它太慢了,我有更多的20k行要删除.

有人知道为什么它太慢而且还有另一种方法(更快的方式)

from Spotfire.Dxp.Data import RowSelection
table=Document.Data.Tables["my Table name"]
i=0
for row in table.GetRows():
  i+=1
  rowToDelete=Document.Data.Tables["my Table name"].Select("[index]="+`i`).AsIndexSet()
  Document.Data.Tables["my Table name"].RemoveRows(RowSelection(rowToDelete))
Run Code Online (Sandbox Code Playgroud)

python datatable tibco ironpython spotfire

4
推荐指数
1
解决办法
2635
查看次数

将c#类型注入Ironpython

现在我可以使用以下代码来访问我的c#类型,IronPython如下所示

import clr
clr.AddReference('myDLL.dll')
import myType
obj = myType()
Run Code Online (Sandbox Code Playgroud)

但是我不希望脚本开发人员clr.AddReference('myDLL.dll')在Python源代码中使用行,并将myDLL.dll(和/或c#类)直接c#注入ScriptEngine,因此以前的代码类似于:

import myType

obj = myType()  
Run Code Online (Sandbox Code Playgroud)

我该怎么做到这一点?

c# python ironpython

4
推荐指数
1
解决办法
268
查看次数