What's wrong on using Popen's communicate method?

Aldwin Pollefeyt aldwinaldwindev at gmail.com
Wed Jul 3 21:20:27 EDT 2019


This is same as   echo abcd | notepad.exe    in Command Prompt. You won't
see the abcd neither.

On Thu, Jul 4, 2019 at 8:41 AM Chris Angelico <rosuav at gmail.com> wrote:

> On Thu, Jul 4, 2019 at 10:01 AM <jfong at ms4.hinet.net> wrote:
> >
> > I have the test0.py below. I expect to see 'abcd' showing in the notepad
> window:
> > ---------
> > import subprocess as sp
> > p0 = sp.Popen('notepad.exe', stdin=sp.PIPE)
> > p0.communicate(input=b'abcd')
> > ---------
> > But nothing happens. The notepad is completely empty. What have I missed?
> >
>
> The "communicate" method sends text to the standard input pipe. This
> has nothing to do with the GUI, and most Windows GUI programs take no
> notice of it. You'll need something GUI-aware for this.
>
> Is Notepad just an example, or are you actually trying to control MS
> Notepad?
>
> ChrisA
> --
> https://mail.python.org/mailman/listinfo/python-list
>



More information about the Python-list mailing list