day 26 logging(日志)模块 ,collections(内置数据类型)模块 和 random(随机)模块
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG) # 可修改报警线
logging.basicConfig(level = logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt = '%a,%d %b %Y %H:%M:%S')
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
高级logging
import logging
logger = logging.getLogger()
f = logging.FileHandler('logg',encoding = 'utf-8')
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s' )
logger.setLevel(logging.DEBUG)
sh = logging.StreamHandler()
logger.addHandler(f)
logger.addHandler(sh)
sh.setFormatter(formatter)
f.setFormatter(formatter)
f.setLevel(logging.INFO)
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
collections模块
1.namedtuple: 生成可以使用名字来访问元素内容的tuple
2.deque: 双端队列,可以快速的从另外一侧追加和推出对象
3.Counter: 计数器,主要用来计数
4.OrderedDict: 有序字典
5.defaultdict: 带有默认值的字典
namedtuple
from collections import namedtuple
a = namedtuple('p' , ('x','y'))
b = a(1,2)
print(b.x)
print(b.y)
from collections import deque
q = deque([1,2,3,4])
q.append(5)
q.append(6)
q.appendleft(0)
q.appendleft(-1)
print(q)
q.pop()
q.popleft()
print(q)
from collections import OrderedDict
d = {}
d['a'] = 1
d['c'] = 3
d['b'] = 2
print(OrderedDict(d))
from collections import defaultdict
ls = [1,2,3,4,5,6,7,8,9]
my_dict = defaultdict(list)
for l in ls:
if l>5:
my_dict['key1'].append(l)
else:
my_dict['key2'].append(l)
print(my_dict)
from collections import Counter
c = Counter('132467dsdfge')
print(c)
#random 模块
import random
random.random() #(0,1)小数
random.uniform(1,3) #(1,3) 小数
random.randint(1,3) #[1,3) 整数
random.randrange(1,10,2) #[1,10) 奇数
random.choice([1,'ww',[1,2]]) #返回一个元素
random.sample([1,'ww',[1,2]],1) #可以返回一至多个元素
l = [1,2,3,4,5,6,7]
random.shuffle(l)
print(l)

浙公网安备 33010602011771号