When the command is a shell built-in, add a shell=True to the call.
E.g. for dir you would type:
import subprocess
subprocess.call('dir', shell=True)
To quote from the documentation:
The only time you need to specify
shell=Trueon Windows is when the command you wish to execute is built into the shell (e.g. dir or copy). You do not needshell=Trueto run a batch file or console-based executable.