1. 程式人生 > >configparser logging collections 模塊

configparser logging collections 模塊

ide Coding 報錯 amp 實例化 所有 play 必須 div

configparser 模塊:

這是一個寫入的模塊就是把你的信息給寫入的模塊

#這是一個把信息寫入example文件內
import configparser
config = configparser.ConfigParser()
config[‘DEFAULT‘] = {‘a‘:45, # 默認的語句
‘Comparseeion‘:‘yes‘,
‘CompressionLevel‘:‘9‘,
‘ForwarXll‘:‘yes‘
}
config[‘bitbucjet.org‘] = {‘User‘:‘hg‘} #建立一個節 後面的表示這個節的內容
config[‘c‘] = {‘123‘:4}
with open (‘example.ini‘,‘w‘)as f:
config.write(f)
import configparser
config = configparser.ConfigParser()
config.read(‘example.ini‘)
print(config.sections()) # sections是讀取你所有的節的名字
print(‘bitbucket.org‘in config) # 驗證這個節點的名字是不是在這這個文件中

下面是練習精講

技術分享圖片
# import configparser
# config = configparser.ConfigParser()
# config["DEFAULT"] = {‘a‘: ‘45‘,
#                       ‘Compression‘: ‘yes‘,
#                      ‘CompressionLevel‘: ‘9‘,
#                      ‘ForwardX11‘:‘yes‘
#                      }
#
# config[‘bitbucket.org‘] = {‘User‘:‘hg‘}
# config[‘topsecret.server.com‘] = {‘Host Port‘:‘50022‘,‘ForwardX11‘:‘no‘} # with open(‘example.ini‘, ‘w‘) as f: # config.write(f) # import configparser # config = configparser.ConfigParser() # config.read(‘example.ini‘) # print(config.sections()) # 查看所有的節 但是默認不顯示DEFAULT [] # print(‘bitbucket.org‘ in config) # True 驗證某個節是否在文件中
# print(‘bytebong.com‘ in config) # False # print(config[‘bitbucket.org‘]["user"]) # hg 查看某節下面的某個配置項的值 # print(config[‘DEFAULT‘][‘Compression‘]) #yes # print(config[‘topsecret.server.com‘][‘ForwardX11‘]) #no # print(config[‘bitbucket.org‘]) #<Section: bitbucket.org> # for key in config[‘bitbucket.org‘]: # 註意,有default會默認default的鍵 # print(key) # print(config.options(‘bitbucket.org‘)) # 同for循環,找到‘bitbucket.org‘下所有鍵 # print(config.items(‘bitbucket.org‘)) #找到‘bitbucket.org‘下所有鍵值對 # print(config.get(‘bitbucket.org‘,‘compression‘)) # yes get方法Section下的key對應的value # import configparser # # config = configparser.ConfigParser() # config.read(‘example.ini‘) # config.add_section(‘yuan‘) # config.remove_section(‘bitbucket.org‘) # config.remove_option(‘topsecret.server.com‘,"forwardx11") # config.set(‘topsecret.server.com‘,‘k1‘,‘11111‘) # config.set(‘yuan‘,‘k2‘,‘22222‘) # config.write(open(‘new2.ini‘, "w")) # section 可以直接操作它的對象來獲取所有的節信息 # option 可以通過找到的節來查看多有的項
View Code

logging模塊:

logging不會自動幫你打印 需要你自己手動打印

loggin可以設置簡單模式和復雜模式 復雜模式的就是logger的

這是logging的模式

import logging
logging.basicConfig(level = logging.DEBUG,  
                    format = %(asctime)s %(filename)s [line:%(lineno)d]%(levelname)s %(message)s
                    )  #這個是必須這樣寫的    默認模塊  #這個level後面是可以更改它的顯示的
logging.debug(debug message)  #調式模式級別最低
logging.info(infomessage) # info顯示正常信息
logging.warning(warning message) # waring 顯示警告信息
logging.error(error message) # error 顯示錯誤信息
logging.critical(critical message)# critical 顯示嚴重錯誤信息


下面設置更改錯誤顯示 只需要修改level就可以了
logging.basicConfig(level = logging.ERROR,
format = ‘%(asctime)s %(filename)s [line:%(lineno)d]%(levelname)s %(message)s‘
) #我設置從error開始報錯
logging.debug(‘debug message‘) #調式模式級別最低
logging.info(‘infomessage‘) # info顯示正常信息
logging.warning(‘warning message‘) # waring 顯示警告信息
logging.error(‘error message‘) # error 顯示錯誤信息
logging.critical(‘critical message‘)# critical 顯示嚴重錯誤信息

 


下面是復雜模式就是實例化logger 實例logging的對象
import logging
logger = logging.getLogger()  #實例化一個logger對象
fh = logging.FileHandler(tset.log, encoding = utf-8)  #就是默認創建一個文件句柄 然後這個文件的格式 默認就是追加‘a‘

sh = logging.StreamHandler()  #對當前屏幕的信息進行操作

fmt = logging.Formatter(%(asctime)s - %(name)s - %(levelname)s - %(message)s)
fh.setFormatter(fmt) #  格式和文件句柄或者屏幕句柄關聯 就是讓格式化和文件關聯
sh.setFormatter(fmt)  #讓你的格式化輸出和屏幕相關聯
# 上面是默認顯示的的 一般的顯示錯誤信息都是從error開始的 你也可以用setLevel來讓它的輸出顯示改變
#
# 比如想從warring開始顯示錯誤信息就:
# sh.setLevel(logging.WARNING)  # 這個是讓你的顯示錯誤信息從warning開始
sh.setLevel(logging.ERROR)

# setLevel是可以設置你的錯誤的信息的  你也可以直接用實例的對象直接調用setLevel那樣打印的就是全部的錯誤信息

# 吸星大法就是讓你的信息互相關聯
logger.addHandler(fh)  # 和 logger的句柄關聯
logger.addHandler(sh)  #把你的上面的屏幕和logger對象關聯
logger.setLevel(logging.DEBUG)  #更改logger的錯誤顯示
logger.debug(debug message)       # debug 調試模式 級別最低
logger.info(info message)         # info  顯示正常信息
logger.warning(warning message)   # warning 顯示警告信息
logger.error(error message)       # error 顯示錯誤信息
logger.critical(critical message)




sh.setLevel(logging.WARNING) # 這個是讓你的顯示錯誤信息從warning開始

setLevel是可以設置你的錯誤的信息的 你也可以直接用實例的對象直接調用setLevel那樣打印的就是全部的錯誤信息

上面是默認顯示的的 一般的顯示錯誤信息都是從error開始的 你也可以用setLevel來讓它的輸出顯示改變

比如想從warring開始顯示錯誤信息就:更改logger的setLevel

# 吸星大法就是讓你的信息互相關聯
# 吸星大法就是讓你的信息互相關聯
logger.addHandler(fh)  # 和 logger的句柄關聯
logger.addHandler(sh)  #把你的上面的屏幕和logger對象關聯
logging
logging 是記錄日誌的模塊
它不能自己打印內容 只能根據程序員寫的代碼來完成功能
logging模塊提供5中日誌級別,從低到高一次:debug info warning error critical
默認從warning模式開始顯示
只顯示一些基礎信息,我們還可以對顯示的格式做一些配置

簡單配置 配置格式 basicCondfig
問題:編碼問題,不能同時輸出到文件和屏幕

logger對象配置
高可定制化
首先創造logger對象
創造文件句柄 屏幕句柄
創造格式
使用文件句柄和屏幕句柄 綁定格式
logger對象和句柄關聯
logger.setLevel
使用的時候 logger.debug
技術分享圖片

collections 模塊:

技術分享圖片
from collections import namedtuple
Point = namedtuple(Point,[x,y])
p = Point(1,2)
p = Point(1,2)
print(p)
print(p.x)
print(p.y)

from collections import deque
雙端隊列
dq = deque()
dq.append(1)
dq.append(2)
dq.append(3)
print(dq)
print(dq.pop())
print(dq.popleft())
dq.appendleft(4)
dq.appendleft(5)
print(dq)

import queue
# 隊列   先進先出 fifo
# 計算機數據結構模型
# 先進先出

# 棧    先進後出
# 計算機數據結構模型
# 先進先出

# dic = {‘k1‘:‘v1‘,‘k2‘:‘v1‘,‘k3‘:‘v1‘,‘k4‘:‘v1‘}
# keys = list(dic.keys())
# print(keys)
# for k in keys:
#     print(k,dic[k])

from collections import OrderedDict
# dic = dict([(‘k1‘,‘v1‘),(‘k2‘,‘v2‘)])
# print(dic)

dic = OrderedDict([(k1,v1),(k2,v2)])
print(dic)
View Code

configparser logging collections 模塊