Categories
Python Answers

How to write to a Python subprocess’ stdin?

Spread the love

Sometimes, we want to write to a Python subprocess’ stdin.

In this article, we’ll look at how to write to a Python subprocess’ stdin.

How to write to a Python subprocess’ stdin?

To write to a Python subprocess’ stdin, we can use the communicate method.

For instance, we write

from subprocess import Popen, PIPE, STDOUT

p = Popen(['myapp'], stdout=PIPE, stdin=PIPE, stderr=PIPE)
stdout_data = p.communicate(input='data_to_write')[0]

to call Popen with the command we want to run in a list.

And we set stdout , stdin, and stderr all to PIPE to pipe them to their default locations.

Next, we call p.communicate with the input argument set to the string we want to write to stdin.

Conclusion

To write to a Python subprocess’ stdin, we can use the communicate method.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *