簡體   English   中英

如何將os.system('cat / var / log / dmesg')復制到變量

[英]how to copy os.system('cat /var/log/dmesg') to a variable

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)

要從子進程中讀取輸入,可以使用os模塊中的fork (), pipe ()和exec ()。 或使用子流程模塊

作為一種選擇,看看IPython。 Interactive Python為該表帶來了許多易於使用的工具。

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

調用系統,並將stdout作為字符串列表捕獲到變量。

專為協作科學而設計,也便於通用Python編碼。 基於Web的協作型筆記本電腦(具有交互式繪圖功能,類似於Sage筆記本電腦)也是一項不錯的獎勵功能,並且無所不在地支持並行計算。

http://ipython.org

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM