python基礎——logging、OS、sys、random、string模塊(0424)

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    生成十六進制數字

示例

結果

相關文章
相關標籤/搜索