Issue 8632: subprocess doesn't handle Windows built-in commands as os.system() does (original) (raw)

The documentation says subprocess replaces os.system(). However, subprocess does not handle built-in Windows shell commands as os.system() does.

Works:

Does NOT work:

Examples: s:\d>python31 Python 3.1.2 (r312:79149, Mar 21 2010, 00:41:52) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.

from subprocess import Popen, PIPE Popen(["cmd", "/c", "dir", "/w"], stdout=PIPE).communicate()[0] ..... (WORKED) Popen(["dir", "/w"], stdout=PIPE).communicate()[0] dir: cannot access /w: No such file or directory b'' (DIDN'T WORK)