1、日誌記錄模塊 loggingpython
logging模塊是Python內置的標準模塊,主要用於輸出運行日誌,能夠設置輸出日誌的等級、日誌保存路徑、日誌文件回滾等。git
一、日誌的級別(大寫字母):通常清下只有警告和錯誤纔會顯示。shell
DEBUG:詳細的信息,一般只出如今診斷問題上。windows
INFO:確認一切按預期運行app
WARNING:一個警告,可能會有一些意想不到的事情發生了,或代表一些問題在不久的未來dom
(例如。磁盤空間低」)。這個軟件還能按預期工做。函數
ERROR:更嚴重的問題,軟件沒能執行一些功能spa
CRITICAL:一個嚴重的錯誤,這代表程序自己可能沒法繼續運行日誌
二、日誌級別的關係orm
CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
三、系統默認只打印 WARNING 及其以上的級別。(通常使用默認便可)
示例
結果
四、logging.basicconfig() 函數
格式爲logging.basicconfig(level=logging.WARNING,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt=' %Y/%m/%d %H:%M:%S', filename='myapp.log', filemode='w')
該函數的可選參數爲 filename指定日誌文件名;filemode指定日誌文件打開的模式 w或a;level指定日誌級別,默認爲logging.WARNING(須要注意的是級別必須大寫);format指定輸出的格式和內容、datefmt指定時間格式。
示例
結果
4.1 更改日誌打印級別:level 設置爲 DEBUG 級別,此時打印的結果最全。
示例
結果
4.2 format 輸出格式參數
4.3 日誌時間格式化 datefmt :該函數的參數通time() 的參數同樣。
五、日誌記錄器 logger
Logger歷來不直接實例化,常常經過logging模塊級方法logging.getLogger(name)來得到,其中若是name不給定就用root。
2、OS模塊
一、os.name 若是結果爲nt,爲windows系統;結果爲posix,則爲Linux/Unix系統
二、os.system() 執行系統命令,可是沒有返回結果
三、os.listdir(path) 返回指定目錄下的全部文件和目錄名。
四、os.getcwd() 獲得當前工做目錄,即當前Python腳本工做的目錄路徑
五、os.linesep 給出當前平臺使用的換行符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
六、os.remove(path) 用來刪除一個文件
七、os.chdir(dirname) 改變工做目錄到dirname
八、os.mkdir("dirname") 生成單級目錄;至關於shell中mkdir dirname
九、經常使用的語句:若是沒有改文件,則建立改文件
十、os.path.abspath("./") 絕對路徑
3、sys 模塊
4、random 模塊:返回隨機生成的一個實數
一、隨機整數 random.randint(a,b) a,b之間隨機取一個整數
二、隨機浮點數 random.uniform(0,2.5)
三、從指定sequence中隨機獲取指定長度的片段並隨機排列。random.sample(sequence, k)
sample函數不會修改原來的list。
參數sequence表示一個有序類型。從序列中獲取一個隨機元素.sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬於sequence。K 指定長度。
四、將列表內的元素隨機排列 random.shuffle(x[, random])
五、從指定範圍內,按指定基數遞增的集合中 獲取一個隨機數 random.randrange([start], stop[, step])
random.randrange(10, 30, 2)結果至關於從[10, 12, 14, 16, ... 26, 28]序列中獲取一個隨機數。 random.randrange(10, 30, 2)在結果上與 random.choice(range(10, 30, 2)) 等效。
六、從序列sequence中獲取一個隨機元素 random.choice(sequence)
list, tuple, 字符串都屬於sequence。
示例
結果
七、實例:擲骰子,看1--6隨機出現的次數
結果
5、string模塊:主要用於對字符串進行操做。
一、string.ascii_letters 生成全部字母,從a-z 和A-Z
二、string.digits 生成全部數字,從0-9
三、string.ascii_lowercase 生成全部小寫字母
四、string.ascii_uppercase 生成全部大寫字母
五、string.printable 生成全部可打印字符
六、string.punctuation 生成全部特殊字符
七、string.hexdigits 生成十六進制數字
示例
結果