如何复制操作系统('cat/var/log/dmesg')到变量

2024-10-01 07:34:26 发布

您现在位置:Python中文网/ 问答频道 /正文

import sys
import os

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

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

我如何实现这一点?在


Tags: 数据代码import脚本logosvar地方
3条回答

作为一个选择,看看IPython。交互式Python提供了许多易于使用的工具。在

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

调用系统,并将stdout作为字符串列表捕捉到变量。在

为协作科学而设计,也便于通用Python编码。基于web的协作笔记本(带有交互式图形,类似于Sage笔记本)也是一个不错的额外功能,同时对并行计算的支持无处不在。在

http://ipython.org

只需自己从文件中读取:

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

要从子进程读取输入,可以使用os模块中的fork()、管道()和exec(),也可以使用子进程模块

相关问题 更多 >