English 中文(简体)
转导在升级后不工作的产出3
原标题:Redirecting output not working after upgrading to Ironpython3

我从铁蓬2升至铁蓬3,但在升级后,我不再能够取得产出。

My class:

public class UnityLogWriter : StreamWriter
{
    private readonly Action<string> logger;
    private string buffer = "";

    public UnityLogWriter(Action<string> logger, Stream s) : base(s)
    {
        if (logger == null)
        {
            throw new ArgumentNullException("logger");
        }
        this.logger = logger;
    }

    public override void Write(string value)
    {
        base.Write(value);
        buffer += value;

        var lines = buffer.Split( 
 );
        for (var i = 0; i < lines.Length; ++i)
        {
            if (i == lines.Length - 1)
            {
                buffer = lines[i];
            }
            else
            {
                logger(lines[i]);
            }
        }
    }
}

My code that redirects output:

var infoStream = new MemoryStream();
var infoWriter = new UnityLogWriter(Debug.Log, infoStream);
engine.Runtime.IO.SetOutput(infoStream, infoWriter);

该法典使用“铁p”2,但使用“铁p3”没有产出。

参看Documentation。 关于“铁p”3的改动,其中包括关于重新定位产出的一节,但我不知道如何执行这一信息。

问题回答

在“铁Python”3中,转向产出的方式发生了变化。

您不能使用<代码>engine.Runtime.IO.SetOutput(),而是可以使用<代码>。 Console.SetOut(),将产出流转至您的习惯TextWriter





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签