title: What is the difference between subprocess.popen and subprocess.run
body: <p>I'm new to the <code>subprocess</code> module and the documentation leaves me wondering what the difference is between <code>subprocess.popen</code> and <code>subprocess.run</code>.  Is there a difference in what the command does?  Is one just newer?  Which is better to use?</p>