python常用模組

2021-08-10 15:48:57 字數 3135 閱讀 4230

logging

日誌是我們排查問題的關鍵利器,寫好日誌記錄,當我們發生問題時,可以快速定位**範圍進行修改

logging將日誌列印到螢幕,日誌級別大小關係為:

critical > error > warning > info > debug > notset,當然也可以自己定義日誌級別

預設logging預設的日誌級別是info

日誌的輸出格式及方式 logging.basicconfig

import logging

logger = logging.getlogger(__name__)

logging.debug('this is debug message')

logging.info('this is info message')

logging.warning('this is warning message')

logging.getlogger([name]):建立乙個日誌物件

返回乙個logger例項,如果沒有指定name,返回root

logger,只要name相同,返回的logger例項都是同乙個而且只有乙個,即name和logger例項是一一對應的。這意味著,無需把logger例項在各個模組中傳遞。只要知道name,就能得到同乙個logger例項。

logging.getlogger(name) 在上述例項中__name__就指的是__main__。

os模組

可以通過os模組呼叫系統命令,獲得路徑,獲取作業系統的型別等都是使用該模組。

a、通過os 獲取系統型別:os.name()

import os

print(os.name)

b、執行系統命令:

os.system('命令') 只會呼叫系統的命令

os.popen('命令') os.popen方法,os.popen()返回的是乙個file物件

c、目錄和檔案相關操作

os.getcwd() : 獲取路徑

os.chdir() : 切換目錄

os.listdir() : 列出目錄檔案 返回乙個列表

os.mkdir() : 建立目錄

os.remove() : 刪除目錄下的檔案

os.linesep : 列印作業系統的分隔符

os.path.join(os.getcwd(), 'aaa', 『bbb』, 『ccc』) : 拼接出來多級目錄

os.path.split('檔案或者目錄'): 把最後檔案和目錄分開

os.path.splitext('檔案') : 把檔案的字尾名和前面分開,返回乙個tuple

os.path.splitdrive('目錄') : 目錄和後面分開

command模組

通過python呼叫系統命令 只適用於linux。

commands是提供linux系統環境下支援使用shell命令的乙個模組。

commands.getoutput(cmd),只返回執行shell命令的結果。

import commands

cmd = 'ls /opt'

a = commands.getoutput(cmd)

print(type(a))

print(a)

commands.getstatusoutput(cmd)

import commands

cmd = 'ls /home/admin'

c = commands.getstatusoutput(cmd)

print(type(c))

status, output = commands.getstatusoutput(cmd)

print(status)

print(output)

print(type(output))

返回結果是乙個tuple,第乙個值是shell執行的結果,如果shell執行成功,返回0,否則,為非0,第二個是乙個字串,就是我們shell命令的執行結果,python通過一一對應的方式複製給status和output。

sys模組

通過sys模組獲取程式引數,python的sys模組預設是把第乙個引數預設是程式本省,從第二個引數起都是**後面跟著的引數,通過sys.arg[n]就可以獲得傳入到程式中的引數。

import sys

def usage():

'''usage'''

print 'usage: %s %s %s %s' % (sys.argv[0], 'tokenid', 'subject', 'content')

sys.exit()

def main():

if len(sys.argv) != 4:

usage()

else:

print(sys.argv[0])

print(sys.argv[1])

print(sys.argv[2])

print(sys.argv[3])

if __name__ == "__main__":

main()

sys.stdin\stdout\stderr

功能:stdin , stdout , 以及stderr 變數包含與標準i/o 流對應的流物件. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它裝置( device ), 或

者以非標準的方式處理它們。

sys.stdout 與print

當我們在 python 中列印物件呼叫 print obj 時候,事實上是呼叫了sys.stdout.write(obj+'\n'),print 將你需要的內容列印到了控制台,然後追加了乙個換行符,print 會呼叫 sys.stdout 的 write 方法。

捕獲sys.exit(n)呼叫

功能:執行到主程式末尾,直譯器自動退出,但是如果需要中途退出程式,可以呼叫sys.exit函式,帶有乙個可選的整數引數返回給呼叫它的程式,表示你可以在主程式中捕獲對sys.exit的呼叫。(0是正常退出,其他為異常)

exitfunc()函式,及當執行sys.exit(1)的時候,呼叫exitfunc()函式 sys.exit(1)後面的內容就不會執行了,因為程式已經退出。

python 常用模組

1.告訴直譯器 找模組 import sysunix要絕度路徑 只有第一次匯入執行。name main 2.當做包,必須包含乙個命名為 init py的檔案 模組 3.dir看模組裡有什麼 下劃線開始,不是給模組外部用的。過濾 import copy n for n in dir copy if n...

python常用模組

collections提供了幾個便於使用的資料型別。1 namedtuple 這個資料型別生成可以使用呼叫屬性的方法來訪問元素內容的元祖 import collections cc collections.namedtuple sha x y get cc 1,2 print get.x,get.y...

python 常用模組

1 os 包含基本的作業系統功能。2 numpy 科學計算庫,提供了矩陣運算的功能。3 sy 有關python執行環境變數的變數和函式。3 image 影象處理基本庫。5 functools 用於高階函式 指那些作用於函式或者返回其它函式的函式,通常只要是可以被當做函式呼叫的物件就是這個模組的目標。...