python
文章平均质量分 71
ECHOutopia
这个作者很懒,什么都没留下…
展开
-
python快速排序
import randomdef rand(n): for i in range(n): yield random.randint(0,1000)#创建一个随机数列表def createList(n): lists=[] for i in rand(n): lists.append(i) return lists#挖坑法快速排原创 2014-10-14 13:17:20 · 959 阅读 · 0 评论 -
python使用select监听非阻塞socket遇到的问题
昨天学python的select的时候,发现一个非常诡异的事情,到现在也没弄明白,所以在这记录一下服务端实现了一个简单的echo服务器,相关代码如下:#coding=utf-8import select原创 2016-03-14 19:35:29 · 5610 阅读 · 0 评论 -
python多线程join方法导致不能接收信号
今天写一个小工具,开启多个线程,在子线程里循环执行任务,发现不能退出程序,然后折腾了半天,还是退出不了,最后发现,原来是个bug原创 2016-03-30 15:43:02 · 3342 阅读 · 1 评论 -
truncate file python
今天写代码读写文件发现文件内容出现'\x00\x00\x00123',前面多了很多0。最后发现原来是自己truncate的姿势不对先来看看truncate函数用法吧:原创 2016-04-12 20:27:22 · 2096 阅读 · 0 评论 -
tornado和beego的helloworld性能对比
测试环境:windows10虚拟机vmware安装的ubuntu14.04内存1g,处理器数量2个,每个处理器核心数量1个测试工具apchebench(ab)python版本:2.7tornado版本4.3go版本1.4beego版本不知道tornado helloworld:import tornado.ioloopimport tornado.we原创 2016-04-21 10:55:40 · 14153 阅读 · 3 评论 -
pyqt给js赋值,获取form表单值
帮同事写客户端,发现pyqt和wxpython的api何其的多,资料又少,写一个包含各种表单的客户端对我来说难度很大,于是想到使用webkit来渲染html,pyqt自然成了我的选择。但是发现,平时在web开发中,html向web后台获取数据或者提交数据这样简单的事,在pyqt中我完全不知道怎么办,资料又各种少。最后找到了对应的简单例子,但是获取表单数据的那个例子在怎么都不起作用,正在要放原创 2016-04-28 18:05:30 · 2556 阅读 · 0 评论 -
python监听本地目录,并将目录下的文件同步到远端服务器
最近写了个文件监听同步的脚本,查找资料的时候发现大部分都是rsync和inotify的方案粗看了下就是利用这两个工具,再配置来实现,这两个工具都很强大但是考虑到那么多配置,而且两台机子都要配置,部署会很麻烦如果自己写功能,就无需配那么多配置项,只需要安装好python的模块再配置一些简单的项就能用了,还能根据需求自己定制一些功能,只不过性能稳定性什么的也许没有那个成熟的方案好,但是原创 2016-05-13 18:12:51 · 5353 阅读 · 2 评论 -
python深拷贝浅拷贝
import copya = [1,2,3,4,5,[6,7,8]]b = a[:]c = ad = copy.deepcopy(a)e = copy.copy(a)print "id of a :",id(a)print "id of b :",id(b)print "id of c :",id(c)print "id of d :",id(d)print原创 2016-06-21 10:31:29 · 411 阅读 · 0 评论 -
python两种方法实现从1000万个随机数中找出top n元素(附c语言版)
很早之前看到一道面试题:有一个长度为1000w个数组,每个元素互不重复,找出其中top n元素。我感觉重复或者不重复都差不多,所以没管不重复这个条件。我把1000w个结果放在了文件中,方便重复利用,生成代码:import randomwith open("random_number.txt","w") as f: for i in range(1,10000000):原创 2016-06-22 02:36:59 · 5405 阅读 · 0 评论 -
200行python代码实现一个类似django的简单模板引擎
教程原文地址:http://aosabook.org/en/500L/a-template-engine.html大致原理:根据模板语法,通过html生成python函数,这个函数作用就是输出纯html,这样只解析一次html模板就够了,以后直接通过这个python函数来生成html内容,提高效率。以下是我对代码的理解并做出的注释:https://git原创 2016-07-05 11:35:17 · 1422 阅读 · 0 评论 -
ctags和virtualenv神级配合
ctags和virtualenv简单介绍:ctags查看代码的时候真的很方便,ctr+shift+鼠标左键就跳转到函数定义的地方了,然后ctr+shift+鼠标右键又能跳转回来,大大提高工作效率。ctags是通过遍历一个目录下所有文件,生成一个.ctags文件来实现这个功能。而virtualenv是在一个目录下模拟python安装环境,然后在这个虚拟环境里面装的所有模块都只供这个环原创 2016-09-09 10:08:24 · 1892 阅读 · 0 评论 -
protobuf rpc介绍
刚接触protobuf通过service实现rpc真的是一头雾水,相关资料非常少,找到的资料也看不懂,最后找到了两篇博文,非常详尽,看完就懂了。原创 2016-12-08 15:56:01 · 8174 阅读 · 3 评论 -
如何使用python写一个操作系统
如何使用python写一个操作系统环境准备写一个操作系统所需环境非常简单,我使用的以下环境:ubuntu 14.04 64位virtualenvwarpperpython3virtualenvwarpper介绍virtualenvwarpper是对virtualenv的封装,使用起来更加方便,virtualenv原理是创建一个目录,然后把所有模块都安装在这个目录下面,这样的话就可以和其他环境原创 2017-02-13 10:53:03 · 10094 阅读 · 13 评论 -
python常用内值函数算法复杂度
之前很长一段时间我计算字典长度都是自己维护一个长度变量,每次字典元素有增减就改变变量,今天发现len()对大多数常见数据结构都是O(1)的,我当时就崩溃了,原来我多此一举了。 这里是常见数据结构的函数复杂度: https://wiki.python.org/moin/TimeComplexity stackover相关问题: shttp://stackoverflow.com/question原创 2017-04-10 10:48:55 · 2126 阅读 · 0 评论 -
concurrent.futures源码解析
concurrent.futures模块在异步编程中非常常用,我常用在tornado里用它将同步操作异步化,这么优秀的模块,肯定很好奇它的内部原理的。 在网上搜了一些资料,感觉附加讲解还不如代码详细,于是就自己去看源码了, 而源码非常优秀,文件结构也非常简单,只有三个文件:_base.py:主要定义了一些常量、类、方法等,为thread和process使用process.py:Process原创 2017-02-21 16:27:46 · 1113 阅读 · 0 评论 -
python dist-packages 和 site-packages
dist-packages 和site-packages在我的ubuntu12上都在/usr/local/lib/python2.7目录下今天安装django时发现一个奇怪的现象:我使用 pip install Django==1.8.4安装的django,安装成功,直接在终端使用django-admin也成功,但是进入python:import dnango,却提示no module n原创 2015-08-26 17:58:10 · 2961 阅读 · 0 评论 -
一个新手用golang重写python rpc框架总结
从前,我是个phper,每天被困在反反复复的增删改查的工作中,后来接触了python后,便对php嗤之以鼻,并且在python中拓宽了眼界,发现了后端世界,于是换了份python游戏服务器的工作,更加后台了。 python开发久了后,我有些腻了,因为python在我心里不再完美了,它的黑魔法实在太多了,导致python入门简单,精通实在太难,这么多语法糖、黑魔法,他们再以各种组合、各种花样实现各...原创 2018-03-27 20:15:17 · 3372 阅读 · 0 评论