标签: ironpython

从 C# 访问 Ironpython 字典

我在 Ironpython 脚本中定义了字典,我想从我的 C# 代码访问这个字典。有人可以提供示例代码来实现我的要求。

抱歉之前我没有用代码提到我的问题陈述。

import clr
clr.AddReference("System.Core")
import System
clr.ImportExtensions(System.Linq)
from System.Collections.Generic import Dictionary,List

def check(self):
    dict1 = Dictionary[str,str]
    dict1["a"] = "aa"
    dict2 = Dictionary[str,str]
    dict2["b"] = "bb"
    self[0] = dict1
#   self.Add(dict1)
    return self
Run Code Online (Sandbox Code Playgroud)

C#

var runtime = Python.CreateRuntime();
dynamic test = runtime.UseFile("Test.py");


var myDictList = new List<Dictionary<string, string>>();
var myDL = new List<Dictionary<string, string>>();
myDL = test.check(myDictList);
Run Code Online (Sandbox Code Playgroud)

我的目标是在 python 中的字典列表上操作(添加,从列表中删除)并将其发送回 C#,在那里我可以进一步使用它。我想要的是在 python 或 C# 中创建一个字典列表,并在两个(python 和 C#)的地方使用它。我怎么能这样做。

ironpython c#-4.0

2
推荐指数
1
解决办法
4548
查看次数

如何将 Iron Python 字典转换为 Python 字典

我需要将接收到的 IronPython 字典变量转换为常规 Python 字典。据我所知,变量是所谓的:

'System.Collections.Generic.Dictionary`2[System.String,System.String]'
Run Code Online (Sandbox Code Playgroud)

如果我使用:

for each in IronDictionary:
    print type(each)
    print each
Run Code Online (Sandbox Code Playgroud)

我正进入(状态:

type: '<class 'System.Collections.Generic.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'>'
'[MultiProcess, False]' # this line is a result of `print each` command
Run Code Online (Sandbox Code Playgroud)

所以本质each上就像一个普通的 Python 列表……如果我能把整个 Iron 字典转换成一个普通的 Python 字典就好了。如果不可能,我不介意迭代使用for each in IronDict:每个 Ironeach并将其转换为常规 Python 列表或 Python 字符串?...如何正确完成此操作?

python ironpython

2
推荐指数
1
解决办法
3888
查看次数

IronPython与WPF编译exe pyc错误

我使用 IronPython 2.7 和 WPF 使用 VS2017 开发了一个应用程序,使用 ipy 命令可以正常工作。我想从项目创建一个 exe 文件,所以我在 cmd 中使用了以下命令:

ipy pyc.py /main:IronPython5.py /target:winexe
Run Code Online (Sandbox Code Playgroud)

项目的哪个 XAML 文件(包括所有相关 DLL)位于部署文件夹中,但是,我收到以下错误,我无法理解其含义:

Traceback (most recent call last):
  File "pyc.py", line 332, in <module>
  File "pyc.py", line 327, in Main
  File "pyc.py", line 181, in GenerateExe
SystemError: Ambiguous match found.
Run Code Online (Sandbox Code Playgroud)

Ironpython5.py 包含:

import wpf
from System.Windows import MessageBox
from System.Windows import Application, Window

class MyWindow(Window):
    def __init__(self):
        self.str1 = ""
        wpf.LoadComponent(self, 'IronPython5.xaml')
    def Button_Click(self, sender, e):
        if self.str1 == "":
            MessageBox.Show("msg1") …
Run Code Online (Sandbox Code Playgroud)

.net python wpf ironpython pyc

2
推荐指数
1
解决办法
1142
查看次数

需要帮助将代码从C#转换为Python

你能否将这个代码从C#转换为Python在IronPython上运行?

我对Python没有任何经验.

using System;
using Baz;

namespace ConsoleApplication
{
  class Program
  {
    static void Main()
    {
        Portal foo = new Portal("Foo"); 
        Agent bar = new Agent("Bar");

        foo.Connect("127.0.0.1", 1234); 
        foo.Add(bar);

        bar.Ready += new Agent.ReadyHandler(bar_Ready);               
    }

    static void bar_Ready(object sender, string msg)
    {    
       Console.WriteLine(msg.body);  
    }
}
}
Run Code Online (Sandbox Code Playgroud)

.net c# python ironpython

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

在哪里查找包含类或命名空间的.NET程序集的名称?

在诸如PowerShell和IronPython之类的.NET脚本语言中,当您想要使用.NET类时,通常需要导入程序集名称.有没有快速找到这些信息的方法?

例如,如果我想使用System.Net.Mail,我如何快速找出它所在的汇编?我不一定在寻找程序化的方式,即使是在线参考也可以.MSDN .NET类引用似乎没有告诉你(例如System.Net.Mail)

我只关心标准的.NET类,显然没有标准的命名空间/类到自定义和第三方类的程序集映射.

.net ironpython

1
推荐指数
2
解决办法
122
查看次数

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

用C#解释这个python表达式

这个python表达式的C#等价物是什么?

file_no = int (last_file.Name.Replace(last_file.Extension,"")[-3:]);
Run Code Online (Sandbox Code Playgroud)

我明白什么[-3:],但不是(int)演员.

c# python ironpython

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

什么是这个ironpython代码的C#版本

我需要在C#中编写这个IronPython代码(我找不到类似的C#库来匹配IronPython的re模块):

for v in variables:
  replace = re.compile(v, re.IGNORECASE)...
  re.sub(v, str(self.SQLVariables[v.upper().replace("&","")]),script_content)...
Run Code Online (Sandbox Code Playgroud)

换句话说,C#与以下表达式等效:

  • re.compile(...)...
  • 应用re.sub(...)...

c# regex ironpython

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

将Spotfire'打印'输出到文本文件

我一直在努力做一些我希望成为一个简单问题的事情.我想从Spotfire输出值(String/Real/Stringlist)到我的计算机上的文本文件.我的最终解决方案需要列出并保存文档属性,但是现在让我们使用stackoverflow中的工作脚本:是否可以使用IronPython将当前*.dxp项目的路径作为字符串返回?

两个变量:路径和分析是"打印"的.如何将它们打印到文本文件中?

类似的东西在这里完成:http://spotfired.blogspot.co.uk/2014/04/export-image-from-visualization.html其中创建.bmp图像.

非常感谢,

ironpython spotfire

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

在for循环中以jupyter播放音频

我需要注释大量的训练数据,为此,我需要听一堆声音片段并记下我听到的声音。为此,我在笔记本中编写了一个小脚本。

我的主要问题是IPython显示循环显示。举个例子:

import numpy
import IPython.display as ipd

sr = 22050# sample rate
T = 2.0# seconds
t = numpy.linspace(0, T, int(T*sr), endpoint=False)# time variable
x = 0.5*numpy.sin(2*numpy.pi*440*t)
ipd.Audio(x, rate=sr)
Run Code Online (Sandbox Code Playgroud)

会出现一个音频框,我将可以播放正弦波。

但是尝试在for循环中播放任何内容都不会产生任何结果(例如:)

for i in range(10000000):
    x = 0.5*numpy.sin(i*numpy.pi*440*t)
    ipd.Audio(x, rate=sr)
Run Code Online (Sandbox Code Playgroud)

如果有人有一个很好的解决方案来遍历(和收听)一堆音频文件(一次,一个,因为我需要遍历可能成千上万的声音片段),我将非常感激!

python audio ironpython jupyter-notebook

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

标签 统计

ironpython ×10

python ×5

c# ×4

.net ×3

audio ×1

c#-4.0 ×1

jupyter-notebook ×1

pyc ×1

regex ×1

spotfire ×1

wpf ×1