2013-02-04 50 views
1
import sys 
import os 

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

此代碼通過運行shell腳本cat /var/log/dmesg來打印文件。但是,它不會複製到日誌中。我想在其他地方使用這些數據,或者只是打印數據,如打印日誌。如何將os.system('cat/var/log/dmesg')複製到變量中

我該如何執行此操作?

+0

見例如如何從shell命令獲取輸出這個線程: http://stackoverflow.com/questions/4760215/running-shell-command-from-python-and-capturing-the - 輸出 – Rolle

回答

7

從文件只需閱讀自己:

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

從子進程讀取輸入您可以使用(),()和EXEC()從OS模塊;或使用模塊

1

作爲一個選項,看看IPython的。交互式Python爲表格帶來了許多易用的工具。

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

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

專爲合作科學而設計,適用於通用Python編碼。基於網絡的協作型筆記本電腦(帶有交互式圖形,類似於Sage筆記本電腦)也是一項甜蜜的獎勵功能,以及無處不在的並行計算支持。

http://ipython.org

相關問題