3
import sys
import os

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

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

我该如何实施?

4

3 回答 3

9

只需自己从文件中读取:

with open('/var/log/dmesg') as logf:
    log = logf.read()
print(log)
于 2013-02-04T13:00:00.637 回答
2

作为一个选项,看看 IPython。交互式 Python 带来了许多易于使用的工具。

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

调用系统,并将标准输出作为字符串列表捕获到变量中。

专为协作科学而设计,也适用于通用 Python 编码。基于 Web 的协作笔记本(具有交互式图形,类似于 Sage 笔记本)也是一个很好的奖励功能,以及对并行计算的无处不在的支持。

http://ipython.org

于 2013-02-04T17:46:55.577 回答
1

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

于 2013-02-04T13:50:27.030 回答