What's wrong on using Popen's communicate method?
Cameron Simpson
cs at cskk.id.au
Wed Jul 3 20:36:36 EDT 2019
On 03Jul2019 16:57, Jach Fong <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?
>--Jach
>
>PS. I am using python 3.4 on Windows Vista
Well I am not a Windows person, but in most GUI environments a desktop
app such as Notepad does not read from its standard input - it reads
keyboard stuff though the GUI interface instead. So it is ignoring your
input data - this approach will generally fail with any desktop app on
any platform.
You may need to investigate generating synthetic keystrokes somehow.
Or alternatively write your data to a text file and hand the name of the
text file to notepad as a file to edit.
Cheers,
Cameron Simpson <cs at cskk.id.au>
More information about the Python-list
mailing list