Look at the subprocess module in the standard library:
from subprocess import call
call(["ls", "-l"])
The advantage of subprocess vs. system is that it is more flexible (you can get the stdout, stderr, the "real" status code, better error handling, etc...).
The official documentation recommends the subprocess module over the alternative os.system():
The subprocess module provides more powerful facilities for spawning new processes and retrieving their results; using that module is preferable to using this function [os.system()].
The "Replacing Older Functions with the subprocess Module" section in the subprocessdocumentation may have some helpful recipes.
Official documentation on the subprocess module: