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。交互式 Python 带来了许多易于使用的工具。
ipy$ log = !dmesg
ipy$ type(log)
<3> IPython.utils.text.SList
ipy$ len(log)
<4> 314
调用系统,并将标准输出作为字符串列表捕获到变量中。
专为协作科学而设计,也适用于通用 Python 编码。基于 Web 的协作笔记本(具有交互式图形,类似于 Sage 笔记本)也是一个很好的奖励功能,以及对并行计算的无处不在的支持。
要从子进程读取输入,您可以使用os模块中的fork ()、pipe () 和exec () ;或使用子流程模块