import sys
import os
log = os.system('cat /var/log/demesg')
此代碼通過運行shell腳本cat /var/log/dmesg
來打印文件。但是,它不會複製到日誌中。我想在其他地方使用這些數據,或者只是打印數據,如打印日誌。如何將os.system('cat/var/log/dmesg')複製到變量中
我該如何執行此操作?
import sys
import os
log = os.system('cat /var/log/demesg')
此代碼通過運行shell腳本cat /var/log/dmesg
來打印文件。但是,它不會複製到日誌中。我想在其他地方使用這些數據,或者只是打印數據,如打印日誌。如何將os.system('cat/var/log/dmesg')複製到變量中
我該如何執行此操作?
從文件只需閱讀自己:
with open('/var/log/dmesg') as logf:
log = logf.read()
print(log)
從子進程讀取輸入您可以使用叉(),管()和EXEC()從OS模塊;或使用子模塊
作爲一個選項,看看IPython的。交互式Python爲表格帶來了許多易用的工具。
ipy$ log = !dmesg
ipy$ type(log)
<3> IPython.utils.text.SList
ipy$ len(log)
<4> 314
調用系統,並將stdout作爲字符串列表捕獲到變量。
專爲合作科學而設計,適用於通用Python編碼。基於網絡的協作型筆記本電腦(帶有交互式圖形,類似於Sage筆記本電腦)也是一項甜蜜的獎勵功能,以及無處不在的並行計算支持。
見例如如何從shell命令獲取輸出這個線程: http://stackoverflow.com/questions/4760215/running-shell-command-from-python-and-capturing-the - 輸出 – Rolle