本文实例借鉴mvc模式,核心数据为model,维护1个矩阵,0表无雷,1表雷,-1表已经检测过。本例使用python的tkinter做gui,由于没考虑可用性问题,因此UI比较难看,pygame更有趣更强大更好看,做这些小游戏更合适,感兴趣的读者可以尝试一下!具体的功能代码如下:#-*-coding:utf-8-*-importrandomimportsysfromTkinterimport*classModel:"""核心数据类,维护一个矩阵"""def
系统 2019-09-27 17:47:00 2015
本来是要写个程序用的,没写完不写了,这一部分就贴出来吧验证域名和IPclassJianKong():'''查询IDC信息,封ip和过白名单'''def__init__(self):pass@classmethoddefip_verify(cls,str):'验证IP地址规范'pattern=re.compile('(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-
系统 2019-09-27 17:46:40 2015
默认dict,代表dict.keys(),而不是dict.items()排序字典,sorted(a.items(),key=lambdakv:kv[-1]),但是返回的是list,[('b',0),('a',1),('c',2)],然后再用dict[]一次,就能得到字典。注意,字典的Key可以不是字符。{0:'0'}dict.update({2:30})。添加字典的元素,两个字典的内容相加,就是用dict_a.updata(dict_b)。删除字典中的某个
系统 2019-09-27 17:46:33 2015
并发与锁多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:importthreading#声明互斥锁lock=threading.Rlock();defhandle(sid):#功能实现代码lock.acquire()#加锁#writercodein
系统 2019-09-27 17:45:51 2015
文章的主题不要使用可变对象作为函数的默认参数例如list,dict,因为def是一个可执行语句,只有def执行的时候才会计算默认默认参数的值,所以使用默认参数会造成函数执行的时候一直在使用同一个对象,引起bug。基本原理在Python源码中,我们使用def来定义函数或者方法。在其他语言中,类似的东西往往只是一一个语法声明关键字,但def却是一个可执行的指令。Python代码执行的时候先会使用compile将其编译成PyCodeObject.PyCodeOb
系统 2019-09-27 17:45:28 2015
利用python自动生成dockernginx反向代理配置由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker容器创建、停止的时候,自动生成nginx反向代理,然后reloadnginx我的原则是尽量简单,轻量,内存占用少目标很明确,只要能监听到docker的容器启动/停止事件,即可网上查了一下可以用dockerevents来监听d
系统 2019-09-27 17:38:32 2015
如果直接对大文件对象调用read()方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。在用Python读一个两个多G的txt文本时,天真的直接用readlines方法,结果一运行内存就崩了。还好同事点拨了下,用yield方法,测试了下果然毫无压力。咎其原因,原来是readlines是把文本内容全部放于内存中,而yield则是类似于生成器。代码如下:defopen_txt(file_name):withope
系统 2019-09-27 17:38:24 2015
一、列表(List)list是一个可以在其中存储一系列项目的数据结构。list的项目之间需用逗号分开,并用一对中括号括将所有的项目括起来,以表明这是一个list。下例用以展示list的一些基本操作:#定义一个list对象class_list:class_list=['Michael','Bob','Tracy']#获得一个class_list的长度print'classhave',len(class_list),'students'#访问class_lis
系统 2019-09-27 17:38:23 2015
Python可以使用xml.etree.ElementTree模块从简单的XML文档中提取数据。为了演示,假设你想解析PlanetPython上的RSS源。下面是相应的代码:fromurllib.requestimporturlopenfromxml.etree.ElementTreeimportparse#DownloadtheRSSfeedandparseitu=urlopen('http://planet.python.org/rss20.xml')
系统 2019-09-27 17:38:13 2015
本文实例讲述了python中urllib模块用法。分享给大家供大家参考。具体分析如下:一、问题:近期公司项目的需求是根据客户提供的api,我们定时去获取数据,之前的方案是用php收集任务存入到redis队列,然后在linux下做一个常驻进程跑某一个php文件,该php文件就一个无限循环,判断redis队列,有就执行,没有就break.二、解决方法:最近刚好学了一下python,python的urllib模块或许比php的curl更快,而且简单.贴一下代码复
系统 2019-09-27 17:38:05 2015