OStack程序员社区-中国程序员成长平台

标题: python - How do I execute a program or call a system command? [打印本页]

作者: 菜鸟教程小白    时间: 2022-4-10 16:04
标题: python - How do I execute a program or call a system command?

How do I call an external command within Python as if I'd typed it in a shell or command prompt?



Best Answer-推荐答案


Use the subprocess module in the standard library:

import subprocess
subprocess.run(["ls", "-l"])

The advantage of subprocess.run over os.system is that it is more flexible (you can get the stdout, stderr, the "real" status code, better error handling, etc...).

Even the documentation for os.system recommends using subprocess instead:

The subprocess module provides more powerful facilities for spawning new processes and retrieving their results; using that module is preferable to using this function. See the Replacing Older Functions with the subprocess Module section in the subprocess documentation for some helpful recipes.

On Python 3.4 and earlier, use subprocess.call instead of .run:

subprocess.call(["ls", "-l"])





欢迎光临 OStack程序员社区-中国程序员成长平台 (http://ostack.cn/) Powered by Discuz! X3.4