在Python里调用执行Linux或Windows系统的shell命令:system、popen、commands、subprocess
Python 语言的灵活性和易用性,使得它非常适合作为“胶水”,去粘合各种系统命令(shell),完成复杂的运维工作和特殊场景的需求。本文主要介绍 Python 里如何调用执行 Linux 或 Windows 的系统命令(shell),方法主要有 system 、 popen 、 commands 和 subprocess 。 system os.system(cmd) ,这个方法使用起来最直接,是 同步 执行,会 阻塞 进程。所以,在需要返回结果的场景中,这个方法是最合适的。 但需要注意的是,其只返回执行得状态码(依赖于操作系统),其值为 int 类型, 0 表示 shell 执行成功, 256 则表示未找到命令。(状态码 Linux 和 Windows 是不一样的) 代码示例: import os status_code = os . system ( 'uptime' ) print ( 'status_code:' , status_code ) status_code : 0 popen os.popen(cmd [,mode [,bufsize]]) ,这个方法是以文件的形式返回 shell 命令执行后的结果,也是 同步 执行,会 阻塞 进程。 但与 os.system 的返回值不同, os.popen 通过 read() 或 readlines()