<p>The primary class in the <code>subprocess</code> module is name <code>Popen</code>, and represents a subprocess. <code>Popen</code> sounds like someone was trying to force the name to follow some function naming format, rather than chosing a name that actually represents what the object is.  Does anyone know why it was chosen over something simple like, say, <code>Subprocess</code>?</p>

[{'answer_id': 38202, 'author': 'Sergio Acosta', 'author_id': 2954, 'author_profile': 'https://Stackoverflow.com/users/2954', 'pm_score': -1, 'selected': False, 'text': '<p>I suppose the name was chosen because the functionality <code>subprocess</code> is replacing was formerly in the <code>os</code> module as the <code>os.popen</code> function. There could be even ways to automate migration between the two.</p>\n'}, {'answer_id': 38206, 'author': 'dF.', 'author_id': 3002, 'author_profile': 'https://Stackoverflow.com/users/3002', 'pm_score': 3, 'selected': False, 'text': '<p><code>subprocess.Popen</code> replaces the group of <code>os.popenX</code> POSIX functions (which have a long history). I suppose that the name <code>Popen</code> makes it more likely for people used to the old functions to find and use the new ones.</p>\n\n<p>The <a href="http://www.python.org/dev/peps/pep-0324/" rel="noreferrer">PEP for subprocess (PEP 324)</a> has a little bit of discussion on the name of the module but not of class <code>Popen</code>. The <a href="http://www.python.org/dev/peps/" rel="noreferrer">list of PEPs</a> (Python enhancement proposals) is in general an excellent place to start if you\'re looking for the rationale for features of Python.</p>\n'}, {'answer_id': 38222, 'author': 'Wayne Werner', 'author_id': 4080, 'author_profile': 'https://Stackoverflow.com/users/4080', 'pm_score': 4, 'selected': True, 'text': "<p>Now, I'm not saying that this is the greatest name in the world, but here was the idea as I understand it.</p>\n\n<p>Originally, the popen family was in the os module and was an implementation of the venerable posix popen.  The movement to the subprocess module would have been an opportune time to rename them, but I guess that keeping Popen makes it easier to find in the docs for those who have a long history with python or even to the venerable posix functions.</p>\n\n<p>From its earliest posix incarnation, <code>Popen</code> has always been meant to open a Process and allow you to read and write from its stdio like a file. Thus the mnemonic for <code>Popen</code> is that it is short for <code>ProcessOpen</code> in an attempt to kind of, sorta, look like open.</p>\n"}]
['https://Stackoverflow.com/questions/38197', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1114/']