Linux下python指令碼編寫小結

2021-10-25 09:31:54 字數 1229 閱讀 9625

linux下python指令碼編寫小結

1.如何在linux系統中,看是否安裝了python:

—which python 或者 which python3

如何在python指令碼中使用shell命令:

----通過os模組的os.system()來使用,需要注意的是引數是字串,返回值是exit code。雖然在pyton直譯器中可以顯示命令執行結果內容,但shell執行 結果的內容的並不會作為返回值以字串的形式返回。

----如何獲取執行shell命令的結果,目前是通過》重定向輸出到指定文本來實現的。

3.檔案操作:

—python本身有檔案操作的,但由於暫未確定如何獲取shell命令結果內容,所以使用了linux本身的檔案操作。後續有方法可以獲取shell命令結果,可以嘗試使用pyhon本身的檔案操作。

python指令碼小結:

----演示指令碼其實功能很簡單,但完成了運維資訊收集的基本功能,後期通過增加使用shell命令可以改進成蒐集更多運維資訊的指令碼。

----後續需要改進的地方主要是儲存資訊的檔案的迴圈寫入,或者根據檔案大小建立新的檔案,保證可以持續收集資訊。

----在後期可以考慮通過tftp等方式把收集的資訊傳輸到遠端,控制裝置本身因為指令碼使用而占用的內容過大。常見的情況下,比如tcpdump抓包,容易導致裝置oom.

乙個簡單的linux運維指令碼例項:

#!/usr/bin/env python

import os

from time import *

os.system(「cd /tmp」)

os.system(「echo 「the python script is runnuing」」)

os.system(「touch linux_log.txt」)

log_oper=open(「linux_log.txt」,「a+」)

for i in range(1,11,2):

os.system(「pstree >>linux_log.txt」)

os.system(「date >>linux_log.txt」)

#log_oper.write(log_read)

sleep(5)

log_oper.close()

print(「script tests ok」)

執行結果:

linux下的shell 和python編寫

第一句即指定指令碼直譯器 bin bash usr bin env python3或 which python3的哪個 usr bin python3 執行兩種方法 第一種編寫完 直接bash s.sh python3 s.py 第二種賦加x chmod a x s.sh chmod 777 s.p...

linux 下後台執行python指令碼

這兩天要在伺服器端一直執行乙個python指令碼,當然就想到了在命令後面加 符號 python data python server.py python.log 說明 1 表示把標準輸出 stdout 重定向到 那個檔案,這裡重定向到了python.log 2 表示在後台執行指令碼 這樣可以到達目的...

linux 下後台執行python指令碼

這兩天要在伺服器端一直執行乙個python指令碼,當然就想到了在命令後面加 符號 python data python server.py python.log nohup python home www service public skbot.py 說明 1 表示把標準輸出 stdout 重定向...