目前了解到的方式有 3 种。

os.system

  • 会直接执行命令并输出
  • 会返回执行的状态,一般成功是 0
  1. # -*- coding: utf-8 -*-
  2. import os
  3. os.system('ps -ef | grep python | wc -l')

os.popen

文档地址:传送门

  • 主要用于文件
  1. # -*- coding: utf-8 -*-
  2. import os
  3. os.popen('aa.txt', 'r', 1)

commands

可以执行命令,拿到执行结果,拿到执行状态,并且不直接输出,很棒

  1. # -*- coding: utf-8 -*-
  2. import commands
  3. status, output = commands.getstatusoutput('ps -ef | grep php | wc -l')
  4. output = commands.getoutput('ps -ef | grep php | wc -l')