如何用Python读取top命令的输出
时间: 2024-11-06 21:17:26 浏览: 5
Linux下使用python调用top命令获得CPU利用率
在Python中直接读取终端(如top命令)的输出并不直接,因为Python解释器无法像shell那样实时捕获命令行输出。不过你可以通过组合使用`subprocess`模块来模拟执行top命令,然后捕获其输出。下面是一个简单的例子,展示了如何使用`subprocess`来获取top命令的部分输出:
```python
import subprocess
def get_top_output():
# 使用Popen执行top命令,redirect输出到 PIPE
top_process = subprocess.Popen(['top'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
# 等待进程完成,然后读取输出
top_output, _ = top_process.communicate()
# 输出是一个字节串,需要解码为字符串
decoded_output = top_output.decode('utf-8')
return decoded_output
# 获取并打印top的前几行
top_lines = get_top_output().split('\n')[:5]
for line in top_lines:
print(line)
```
这个例子只获取了top命令的全部输出,如果你想筛选特定的内容,比如dotencoder相关的行,你需要对输出进行进一步处理,例如正则表达式匹配。
请注意,这只是一个基础的示例,实际操作可能需要处理错误和进程管理。
阅读全文