背景有一个工作邮箱,会接收许多人不断地投递的简历。由于邮件数量比较多,因此产生了一个需求。要求自动将邮件从邮件服务器取回到本地,并将邮件的基本信息存入本地的sqlite数据库。邮件的正文以单独文件的形式存放在文件夹下。实现备注:在python2.7下测试运行正常,如果用python3,可能需要对代码稍做修改。1,邮件配置参数文件mail.conf[mail163]#此外应写上你实际的帐号与密码user=xxxx@163.compassword=xxxxxp
系统 2019-09-27 17:55:14 2147
期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感。今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如《倔强》,海阔天空是,什么的大家熟悉的。所要用到的python库有jieba(一个中文分词库)、wordcould、matplotlib、PIL、numpy。首先我们要做的是读取歌词。我将歌词存在了文件目录下励志歌曲文本中。现在来读取他#en
系统 2019-09-27 17:54:39 2147
Python编程中经常遇到一些莫名其妙的错误,其实这不是语言本身的问题,而是我们忽略了语言本身的一些特性导致的,今天就来看下使用Python变量时导致的3个不可思议的错误,以后在编程中要多多注意。关于Python编程运行时新手易犯错误,这里暂不作介绍,详情参见:Python运行的17个时新手常见错误小结1、可变数据类型作为函数定义中的默认参数这似乎是对的?你写了一个小函数,比如,搜索当前页面上的链接,并可选将其附加到另一个提供的列表中。defsearch_
系统 2019-09-27 17:53:32 2147
粘包问题TCP协议在传输过程中会出现数据粘包问题讲一下TCP和UDP的区别,都是传数据的协议,没有好坏之说,只是不同的应用需求可能会更好选择哪一个协议TCP:适合传输数量大,需要建立连接,会出现粘包问题,粘包问题可以解决,确定传入的长度,接收同样长度就可以保证一次性传输完UDP:适合传输数据量小,没有粘包,不需要连接,一次性传输,下一次就是新的数据,弊端就是数据丢失,不安全QQ是用什么协议呢?按理应该可以用UDP协议,但是实际用的是TCP协议,这是历史遗留
系统 2019-09-27 17:53:03 2147
目录第十五章、Python多线程同步锁,死锁和递归锁1.引子:2.同步锁3.死锁引子:4.递归锁RLock原理:不多说,放代码总结:5.大总结第十五章、Python多线程同步锁,死锁和递归锁1.引子:1.创建线程对象t1=threading.Thread(target=say,args=('tony',))2.启动线程t1.start()后面又说了两个点就是join和守护线程的概念以上就是python多线程的基本使用说明:前面说的两个功能是相互独立的,
系统 2019-09-27 17:51:52 2147
工作中用到了C/S模型,所做的也无非是给服务器发数据,但开发阶段会遇到程序自身的回环测试,需要用到简单的服务端以便验证数据发送的正确性。写软件用C++,跑测试用python,这段时间也刚好看go语言,所以都要有demo。以下三组程序实现的功能相同,这里一起做下总结。一、C++实现Boost.Asio是一个跨平台的C++库,它用现代C++方法为网络和底层I/O程序提供了一致的异步I/O模型。为了跨平台,我用boost库实现,具体如下。服务端代码:复制代码代码
系统 2019-09-27 17:51:43 2147
本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API。这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没找到答案,最后没办法,看它的文档,用自己的方法实现了。方法很土,就是获取初始化的窗体大小和屏幕大小,再通过计算得到大体值。以下是代码:复制代码代码如下:#!/usr/bin/python'''File:screenCenter.pywAuthor:MikeE-Mail:Mike_Zhang@live.
系统 2019-09-27 17:51:41 2147
本篇文章介绍如何使用xlrd来读取Excel表格中的内容,xlrd是第三方库,所以在使用前我们需要安装xlrd。另外我们一般会使用xlwt来写Excel,所以下一篇文章我们会来介绍如何使用xlwt来写Excel。xlrd下载:xlrd0.8.0安装xlrd安装xlrd,只需运行setup即可,另外你也可以直接解压缩到你的project中,也可以直接用xlrd的API获取Excel,这里称之为workbook复制代码代码如下:open_workbook(fi
系统 2019-09-27 17:51:03 2147
还是那个题目(题目和流程见java版本),感觉光用java写一点新意也没有,恰巧刚学习了python,何不拿来一用,呵呵:服务器端:importSocketServer,timeclassMyServer(SocketServer.BaseRequestHandler):userInfo={'yangsq':'yangsq','hudeyong':'hudeyong','mudan':'mudan'}defhandle(self):print'Connec
系统 2019-09-27 17:50:40 2147
目录一、Admin的配置1.激活管理工具2.使用管理工具3.注册超级用户4.修改语言二、管理数据模型1.注册medel类到admin2.自定制类一、Admin的配置Admin是Django的一个强大的功能,它能从数据库中读取数据,并呈现在页面中,进行管理。默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需要定制,比如搜索功能,下面这一系列文章就逐步深入介绍如何定制适合自己的admin应用。1.激活管理工具通
系统 2019-09-27 17:49:37 2147
之前用featureCount处理得到结果,要提出第一列gene_id和readcount列,首先软件输出的第一行默认是你使用的命令行,没有用,用bash批量删掉。foriin`ls`;dosed-i'1d'$i;done删除当前文件夹下所有文件第一行。其实提出两列很简单,不过我受够了每次一个文件执行一次的烦。想搞成别的程序调用时命令行参数直接就行。第一次知道sys.argv这玩意,学到了。我设置了-i输入,-o输出这两个参数来判断输入输出文件个数,不过对
系统 2019-09-27 17:49:32 2147
#!/usr/bin/python#*-*coding:utf8*-*"""适用于在/proc/meminfo中提供了可用内存MemAvailable的系统使用"""fromoptparseimportOptionParserimportsysparser=OptionParser()parser.add_option("-k",dest="k",action="store_true",default=True,help="DisplayMeminfoKB
系统 2019-09-27 17:49:21 2147
%用法1、整数的输出%o——oct八进制%d——dec十进制%x——hex十六进制2、浮点数输出(1)格式化输出%f——保留小数点后面六位有效数字%.3f,保留3位小数位%e——保留小数点后面六位有效数字,指数形式输出%.3e,保留3位小数位,使用科学计数法%g——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法%.3g,保留3位有效数字,使用小数或科学计数法(2)内置round()参数:number-这是一个数字表达式。ndigits-表示从
系统 2019-09-27 17:48:31 2147
python解释器运行代码的流程启动python解释器(相当于文本编辑器)打开文件,显示这个字符并检查语法(涉及字符编码,a=1只是一个很普通的字符)解释字符(涉及字符编码,再去内存空间生成一个a=1的变量)python2用的是ascii,python3默认是utf8读取字符#coding:gbk会告诉python3解释器用gbk编码读取字符python3(了解)你看到的其实是unicode但是终端帮你把这个unicode的0和1做一个转换,从unicod
系统 2019-09-27 17:48:12 2147
简单地一句话总结:1.假如你想帮他尽快找个活儿,赚到钱,推荐PHP。2.假如你想让他成为一个高效工程师,推荐Python。3.假如你想让他爱上他的工作,推荐Ruby。语言的选择:编程语言非常重要,不要认为他们都图灵等价,用起来都一样。实际上,好的语言,带给你的东西是超乎想像的。下面是一些看法:1.程序员的时间远比机器的时间宝贵:选择开发效率最高的语言吧,不要过于在乎运行性能,如果你开发不出东西,那么跑得多快也没用。2.优雅的抽象胜于简单的堆砌:这意味着你的
系统 2019-09-27 17:48:11 2147