python脚本解析日志文件入库一般有三个重要的步骤:读文件.解析文件.入库.在这三个方面下功夫,可确保我们获得最优的性能(这里不讨论并发) 1 读文件:一次读一行,磁盘IO太多,效率低下:一次性读如全部文件内容,可能内存不够.采取一个折中的办法,每次读若干byte(具体大小视实际情况而定). 经过测试,得到结论,在我们写代码的时候应该这样写 f = open(path,'r') for line in f : ............. 这是系统提供的一种读文件的方法,一般比我们自己每次读若干
在完成Django项目和应用的建立后,即可以开始编写网站应用代码,这里通过为注册页面显示一个欢迎标题,来演示Django的路由映射功能. 1)首先在djangosite/app/views.py中建立一个路由响应函数: from django.http import HttpResponse def welcome(request): returnHttpResponse("<h1>Welcome to my tiny twitter!</h1>") 该代码定义
在这篇文章中我将和大家分享一些真正有用的技巧和窍门,这些技巧和窍门你们之前可能并不知道.所以不浪费时间了,让我们直接来看看这些内容吧: 枚举 之前我们这样操作: 1 2 3 4 i = 0 for item in iterable: print i, item i += 1 现在我们这样操作: 1 2 for i, item in enumerate(iterable): print i, item enumerate函数还可以接收第二个参数.就像下面这样: 1 2 3
一行代码定义List 下面是使用For循环创建列表和用一行代码创建列表的对比. x = [1,2,3,4] out = [] for item in x: out.append(item**2) print(out) [1, 4, 9, 16] # vs. x = [1,2,3,4] out = [item**2 for item in x] print(out) [1, 4, 9, 16] Lambda表达式 厌倦了定义用不了几次的函数? Lambda表达式是你的救星! Lambda表达式用于
Places to consider putting assertions: checking parameter types, classes, or values checking data structure invariants checking "can't happen" situations (duplicates in a list, contradictory state variables.) after calling a function, to make su
优先使用INNER JOIN 多表关联查询,扫描的行尽量少 关联的时候下条件减少扫描的行数 SELECT ... FROM ad_ad_summary_for_pos_eq sum4eq INNER JOIN (SELECT id, NAME FROM wlw_area WHERE grade = 2) area ON area.id = position.city_id 避免使用SELECT * 你从你的表里返回每个列,甚至后期加的列.被传递到了