import sys
import os
log = os.system('cat /var/log/demesg')
此代码通过运行shell脚本cat /var/log/dmesg
来打印文件。但是,它不会复制到日志中。我想在其他地方使用这些数据,或者只打印数据,如打印日志。
我该如何实现?
答案 0 :(得分:7)
只需自己阅读文件:
with open('/var/log/dmesg') as logf:
log = logf.read()
print(log)
答案 1 :(得分:1)
要阅读来自子流程的输入,您可以使用 fork (), pipe ()和 exec ()来自 os 模块;或使用子流程模块
答案 2 :(得分:1)
作为一种选择,请看一下IPython。 Interactive Python为表格带来了许多易用性工具。
ipy$ log = !dmesg
ipy$ type(log)
<3> IPython.utils.text.SList
ipy$ len(log)
<4> 314
调用系统,并将stdout作为字符串列表捕获到变量中。
专为协作科学而设计,也适用于通用Python编码。基于网络的协作笔记本(具有交互式图形,类似于Sage笔记本)也是一个甜蜜的奖励功能,以及对并行计算的无处不在的支持。