如何将 os.system('cat /var/log/dmesg') 复制到变量


import sys
import os
log = os.system('cat /var/log/demesg')

这段代码通过运行shell脚本cat /var/log/dmesg来打印文件。但是,它不会复制到日志中。我想在其他地方使用这些数据,或者只是像打印日志一样打印数据。

我该如何实现?

只需自己从文件中读取:

with open('/var/log/dmesg') as logf:
    log = logf.read()
print(log)

作为一个选项,请查看IPython。Interactive Python为桌面带来了许多易于使用的工具。

ipy$ log = !dmesg
ipy$ type(log)
 <3> IPython.utils.text.SList
ipy$ len(log)
 <4> 314

调用系统,并将变量的stdout捕获为字符串列表。

专为协作科学而设计,也便于通用Python编码。基于网络的协作笔记本(具有交互式图形,类似于Sage笔记本(也是一个不错的额外功能,同时还普遍支持并行计算。

http://ipython.org

若要从子进程读取输入,您可以使用os模块中的fork((、pipe;或使用子流程模块

最新更新