这很简单,但我喜欢这样做的一个漂亮,pythonic的方式。 基本上,给定一个字典,返回只包含那些以某个string开头的键的子字典。 » d = {'Apple': 1, 'Banana': 9, 'Carrot': 6, 'Baboon': 3, 'Duck': 8, 'Baby': 2} » print slice(d, 'Ba') {'Banana': 9, 'Baby': 2, 'Baboon': 3} 这对于一个函数来说相当简单: def slice(sourcedict, string): newdict = {} for key in sourcedict.keys(): if key.startswith(string): newdict[key] = sourcedict[key] return newdict 但肯定有更好,更聪明,更可读的解决scheme? 发电机可以帮助吗? (我从来没有足够的机会使用这些)。
有没有办法从C#中使用IronPython调用Python代码? 如果是这样,怎么样?
我试图做一个简单的Hello世界来testing在C#中embeddedIronPython,但似乎无法解决这个问题.. 这是我的C#文件; using System; using IronPython.Hosting; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using System.IO; public class dynamic_demo { static void Main() { var ipy = Python.CreateRuntime(); dynamic test = ipy.UseFile(@"../../Test.py"); test.Simple(); } } 这是python类; import sys def Simple(): print 'Hello from Python' print "Call Dir(): " print dir() print "Print the Path: " print sys.path 我的目标.NET框架是4.0,我使用IronPython 2.6 […]
是否有可能在IronPython中使用LINQtypes和扩展方法? 如果这样怎么样? 同样的事情也经常有更多的pythonic?
我有兴趣获得在IronPython上运行的Django的安装,有没有人有任何成功让这个运行成功的水平? 如果可以,请告诉你的经验,performance,提出一些提示,资源和陷阱?
这个问题以前曾经有过不同程度的问题,但是我觉得没有简明扼要的回答,所以我再问一次。 我想用Python运行一个脚本。 让我们说这是这样的: if __name__ == '__main__': f = open(sys.argv[1], 'r') s = f.read() f.close() print s 获取文件位置,读取它,然后打印其内容。 不那么复杂。 好的,那么我如何在C#中运行这个? 这是我现在所拥有的: private void run_cmd(string cmd, string args) { ProcessStartInfo start = new ProcessStartInfo(); start.FileName = cmd; start.Arguments = args; start.UseShellExecute = false; start.RedirectStandardOutput = true; using (Process process = Process.Start(start)) { using (StreamReader reader = […]
我想从Python代码中访问一些用C#编写的.NET程序集。 有一点研究表明我有两个select: 具有.NET接口function/支持内置的IronPython Python与Python .NET包 两种解决scheme之间的折衷是什么?
我已经写了一个python类,我想通过IronPython包装到.net程序集中,并在C#应用程序中实例化。 我已经将类迁移到IronPython,创build了一个库程序集并引用它。 现在,我怎样才能真正得到这个类的一个实例呢? class级看起来(部分)如下: class PokerCard: "A card for playing poker, immutable and unique." def __init__(self, cardName): 我在C#中编写的testing存根是: using System; namespace pokerapp { class Program { static void Main(string[] args) { var card = new PokerCard(); // I also tried new PokerCard("Ah") Console.WriteLine(card.ToString()); Console.ReadLine(); } } } 为了在C#中实例化这个类,我需要做些什么?
find并replace给定的inputstring(比如abc ,并replace为另一个string(比如文件/tmp/file.txt XYZ ,最简单的方法是什么? 我正在写一个应用程序,并使用IronPython通过SSH执行命令 – 但我不知道Unix那么好,不知道该找什么。 我听说Bash除了是一个命令行界面之外,可以是一个非常强大的脚本语言。 所以,如果这是真的,我假设你可以执行这样的操作。 我可以用bash来做到这一点吗?为了实现我的目标,最简单的(一行)脚本是什么?