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

Chris Angelico rosuav at gmail.com
Wed Jul 3 20:36:47 EDT 2019


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



More information about the Python-list mailing list