标签: ironpython

如果没有安装Python,mercurial如何工作?

我的Windows 7机器上安装了Mercurial 1.3.我没有安装python,但Mercurial似乎没问题.

它是如何工作的?

此外,是否可以强制Mercurial在IronPython上运行并且它是否兼容?

谢谢.

python mercurial ironpython

8
推荐指数
3
解决办法
1604
查看次数

IronPython:您使用IronPython而不是标准.NET语言(例如,C#)完成了哪些工作

我正在学习IronPython和Python一起学习.我很好奇你倾向于使用IronPython来处理比标准.NET语言更频繁的任务.

谢谢你的任何例子.

python ironpython

8
推荐指数
1
解决办法
768
查看次数

String为null或空

好的,这里有一些简单的观点.PyBinding带有这个脚本:

def IsNotNull(value):
    return value is not None
Run Code Online (Sandbox Code Playgroud)

它很接近,但我想要的是这个.

bool IsNotNullOrEmpty(string value) {
    return (value != null) && (value.Length > 0 );
}
Run Code Online (Sandbox Code Playgroud)

ironpython

8
推荐指数
2
解决办法
4万
查看次数

如何在Web/Windows窗体中将IronRuby或IronPython与c#一起使用?

我对.net的动态语言运行时非常感兴趣,并且看到IronRuby/IronPython是建立在它之上的.我找不到一些在c#中使用Ruby/Python动态的例子,这是我真正感兴趣的.

我看过微软的视频,它使用c#4的动态从Silverlight中调用JavaScript,只是想知道在web/windows窗体中调用Ruby/Python是多么容易?我知道Umbraco在某个地方有一个python实现,这是可能的,但不确定如何?

谢谢.

asp.net ironpython ironruby umbraco-blog c#-4.0

8
推荐指数
1
解决办法
640
查看次数

是否有可能将.Net DLR托管在"防止白痴"的沙箱中?

我想以这样一种方式托管动态语言运行时(DLR),以便在其中运行任意脚本的用户不能使该进程失效?

在DLR托管规范描述了如何举办DLR在一个单独的ApplicationDomain.这允许拆除和卸载脚本运行时并通过CAS限制某些操作(例如,我可以限制文件系统访问或禁止使用反射).

但有没有办法,例如: - 限制脚本使用的最大内存量? - 限制脚本创建的线程数? - 检测死锁脚本?

我认为使用为SQL Server开发的非托管.net托管API可以实现这种精细控制.这是方向吗?是否有这种通用.net沙盒的开源项目?

以下是我发现的一些可能有用的参考资料:

ironpython ironruby dynamic-language-runtime

8
推荐指数
1
解决办法
427
查看次数

我可以在F#中使用动态类型吗?

.net4.0

mytest.py

def Add (a, b):
    return a+b
Run Code Online (Sandbox Code Playgroud)

我可以在C#4中使用它,像这样:

        ScriptRuntime runtime = Python.CreateRuntime();
        dynamic script = runtime.UseFile("mytest.py");

        Console.WriteLine(script.Add(1, 3));
Run Code Online (Sandbox Code Playgroud)

但是,我如何在F#中使用动态?

open System
open Microsoft.Scripting.Hosting
open IronPython.Hosting

let call a b=
    let runtime = Python.CreateRuntime()
    let script = runtime.UseFile("mytest.py")
    script.Add(a,b)
Run Code Online (Sandbox Code Playgroud)

f# ironpython dynamic c#-4.0

8
推荐指数
1
解决办法
1720
查看次数

自定义IronPython导入解析

我正在从数据库加载IronPython脚本并执行它.这适用于简单的脚本,但导入是一个问题.如何拦截这些导入调用,然后从数据库加载适当的脚本?

编辑:我的主要应用程序是用C#编写的,我想在不编辑Python脚本的情况下拦截C#端的调用.

编辑:从我已经完成的研究来看,创建自己的PlatformAdaptationLayer看起来就像你应该实现它的方式,但它在这种情况下不起作用.我已经创建了自己的PAL,在我的测试中,我的FileExsists方法会在脚本中的每次导入时被调用.但由于某种原因,它永远不会调用该OpenInputFileStream方法的任何重载.通过IronPython源,一旦FileExists返回true,它就会尝试在路径上找到文件本身.所以这看起来像死路一条.

import ironpython

8
推荐指数
2
解决办法
2438
查看次数

为什么Python(IronPython)在使用单词bi​​n时会报告"路径中的非法字符"?

在Iron Python中执行chdir命令时出现"路径中的非法字符"错误.这是在我的代码运行时发生的,但即使在Iron Python控制台中也存在这个问题.我正在使用nt模块,因为在代码中os模块不起作用(似乎是一个已知问题).

做一点点玩它就会发现"非法字符"实际上是bin这个词.下面是控制台中的文本,显示我只有在导航到bin目录时才会收到错误.

这是一个例子

>>> nt.chdir('c:\Users\xxxxx\Documents\Visual Studio 2010\Projects\xxx')
>>> nt.chdir('c:\Users\xxxxx\Documents\Visual Studio 2010\Projects\xxx\Directory')
>>> nt.chdir('c:\Users\xxxxx\Documents\Visual Studio 2010\Projects\xxx\Directory\bin')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Illegal characters in path.
Run Code Online (Sandbox Code Playgroud)

更糟糕的是我将导航到一个完全不同的目录(甚至没有bin目录)并尝试导航到子目录"bin",我仍然会得到错误!

有任何想法吗?

python ironpython illegal-characters

8
推荐指数
2
解决办法
5719
查看次数

将算术运算应用于IronPython中的System.Array的最快方法

我想System.Array在IronPython中添加(算术)两个大元素元素并将结果存储在第一个数组中,如下所示:

    for i in range(0:ArrA.Count) :
      arrA.SetValue(i, arrA.GetValue(i) + arrB.GetValue(i));
Run Code Online (Sandbox Code Playgroud)

但是,这似乎很慢.有C背景我想使用指针或迭代器.但是,我不知道如何快速应用IronPython习语.我不能使用Python列表,因为我的对象严格来自System.Array类型.类型是3d浮点数.

什么是紧固件/计算此计算的快速方法?

编辑:

  • 元素的数量是适当的.256 ^ 3.
  • 3d float意味着可以像这样访问数组:array.GetValue(indexX,indexY,indexZ).我不确定IronPython的System.Array中各自的内存是如何组织的.
  • 背景:我编写了一个IronPython API接口,可以在仿真软件工具中访问数据.我检索3d标量数据并将其累积到我的IronPython脚本中的时间数组中.累积执行10,000次并且应该很快,因此模拟不需要很长时间.

ironpython iterator system.array

8
推荐指数
1
解决办法
184
查看次数

是否有Python等同于C#?和?? 运营商?

例如,在C#中(从v6开始)我可以说:

mass = (vehicle?.Mass / 10) ?? 150;
Run Code Online (Sandbox Code Playgroud)

如果有车辆,则将质量设置为车辆质量的十分之一;如果车辆为空,则设置为150(或者如果Mass属性为可空类型,则为零质量).

我可以在我的C#应用​​程序的脚本中使用Python(特别是IronPython)中的等效构造吗?

这对于显示可以被其他值修改的值的默认值特别有用 - 例如,我可能在我的星舰的脚本中定义了一个装甲组件,它总是消耗其安装的船上可用空间的10%,它的其他属性也可以缩放,但我想显示装甲大小,生命值,成本等的默认值,这样你就可以将它与其他船舶组件进行比较.否则,我可能不得不写一个复杂的表达式进行空检查或两次,就像我在V6之前在C#中所做的那样.

python ironpython

8
推荐指数
1
解决办法
1303
查看次数