Bertrand
Bertrand

Reputation: 1064

Subprocess.Popen stdin in new console

I want to execute a python subprocess in a new console. Once started, I want the user to be able to answer questions asked by this new process on stdin.

I tried the following code:

p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd, creationflags=subprocess.CREATE_NEW_CONSOLE)
(o, e) = p.communicate()

As soon as the subprocess asks for input on stdin the following error message is displayed:

EOFError: EOF when reading a line

Is it the good way to achieve this ?

Upvotes: 1

Views: 1063

Answers (1)

Bertrand
Bertrand

Reputation: 1064

As i'm not really interested in the stdout/stderr redirection, i tried this way:

subprocess.Popen(cmd, cwd=cwd, creationflags=subprocess.CREATE_NEW_CONSOLE)

It works fine now. I guess that it's not compatible to redirect standard input/outputs and to create a new console.

Upvotes: 1

Related Questions