Hi Oleksii & Sharon,

If you've done this before, would you share which I can get a console
window in embedded Python.Net and get the Python string output from C#?

Thank you,
Spark.


On Tue, Mar 1, 2011 at 1:33 PM, Oleksii Bidiuk <oleksii.bid...@gmail.com>wrote:

> Hi Sharon,
>
> I haven't found a way to run a console, but I had achieved a similar
> effect by redirecting the stdout and stderr from within Python (as
> suggested some time ago by Guido himself in a related embedded CPython
> post) to a .NET object and then show the incoming strings in a TextBlock (I
> am using a WPF app that hosts Python.NET). Below is a very short
> description of what I have done. Please let me know if this is indeed what
> you were looking for (or perhaps somebody else), I will prepare a more
> detailed post then (need to recap details from code).
>
> To achieve having 'live' console output I have used some 'setup script'
> and 'clean up' scripts executed before and after the user-defined script.
> In the setup script I first backup the curent value of sys.std* objects and
> then assign my own (.NET) object to sys.stdout and in the clean up part I
> restore the original std* values (similar to the sample for inserting
> certain path to the sys.path discussed before).
>
> To make use of the technique described above you need to have a .NET
> object that implements the same interface as python stream (meaning write,
> writelines, etc methods, see dir(sys.stdout) for all the details). In my
> experience write() and writelines() is enough. Having that you can pass an
> instance of such object to your Python code. As soon as you have the
> information coming through your .NET object methods you can do things like
> raising events, adding text to GUI, dump to a file, etc. It does require a
> bit of additional work, (which I honestly already expected to see already
> in Python.NET) and to some extend similar to the concept of console
> redirection per script context in IronPython, although in IronPython it is
> done in a 'native' .NET way.
>
> I am not sure this is THE best solution and other suggestions are more
> than welcome!
>
>
> 2011/3/1 Sharon Rozenblum <sharon.rozenb...@sandisk.com>
>
>> Hi!
>>
>>
>>
>> Is there a way to show the console window when running Python from C# (in
>> order to see the Python outputs, when the c# project is not console
>> application)
>>
>>
>>
>> Thanks,
>>
>>
>>
>> SHARON
>>
>>
>>
>>
>>
>
> --
> oleksii
>
> _________________________________________________
> Python.NET mailing list - PythonDotNet@python.org
> http://mail.python.org/mailman/listinfo/pythondotnet
>
_________________________________________________
Python.NET mailing list - PythonDotNet@python.org
http://mail.python.org/mailman/listinfo/pythondotnet

Reply via email to