概要在前面章节我们为主页定义了一个简单的模板,部分尚未实现的模块如用户或帖子等使用模拟的对象作为临时占位。本章我们将看到如何利用web表单填补这些空白。web表单是web应用中最基本的构建要素,我们将通过表单来实现用户发帖和应用登录功能。完成本章内容你需要基于前面章节完成的微博应用代码,请确认这些代码已安装并能正常运行。配置Flask-WTF是WTForms项目的Flask框架扩展,我们将用他来帮助我们处理web表单。大部分Flask扩展都需要定义相关配置
系统 2019-09-27 17:48:55 2088
首先还是谷歌浏览器抓包对该网站数据进行分析,结果如下:该网站地址:http://www.budejie.com/text该网站数据都是通过html页面进行展示,网站url默认为第一页,http://www.budejie.com/text/2为第二页,以此类推对网站的内容段子所处位置进行分析,发现段子内容都是在一个a标签中坑还是有的,这是我第一次写的正则:content_list=re.findall(r'(.+?)',html_str)之后发现竟然匹配到
系统 2019-09-27 17:46:58 2088
一、死锁简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。1、迭代死锁该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁:importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):globalnumtime.sleep(1)ifmutex.acquire(1):num=num+1msg=self.name
系统 2019-09-27 17:46:39 2088
1:readline()file=open("sample.txt")while1:line=file.readline()ifnotline:breakpass#dosomethingfile.close()一行一行得从文件读数据,显然比较慢;不过很省内存;测试读10M的sample.txt文件,每秒大约读32000行;2:fileinputimportfileinputforlineinfileinput.input("sample.txt"):pas
系统 2019-09-27 17:38:15 2088
反射描述反射就是指在程序运行时,动态的去确定对象的类型,并且可以通过字符串的的形式去调用对应的属性,方法,导入模块,是一种基于字符串的事件驱动举一个例子:classStudent:def__init__(self):self.name='mhy'self.price='5000'obj1=Student()content=input('>>>:')#这里输入的name是字符串#如果不知道反射,我们平常都是这么根据输入调用的ifcontent=='name'
系统 2019-09-27 17:56:45 2087
前面给大家分享了pandas.merge用法详解,这节分享pandas数据合并处理的姊妹篇,pandas.concat用法详解,参考利用Python进行数据分析与pandas官网进行整理。pandas.merge参数列表如下图,其中只有objs是必须得参数,另外常用参数包括objs、axis、join、keys、ignore_index。1.pd.concat([df1,df2,df3]),默认axis=0,在0轴上合并。2.pd.concat([df1,
系统 2019-09-27 17:56:17 2087
相对于C++的继承编写,Python更简洁,而且效率也是很高的,下面编写一个简单Python的继承例子。复制代码代码如下:#!/usr/bin/python#filename:pyclass.pyclassMember:def__init__(self,name,age):self.name=nameself.age=ageprint'Memberinit:%s'%self.namedeftell(self):print'Name:%s,Age:%d'%(
系统 2019-09-27 17:54:56 2087
python程序结构python“一切皆对象”,这是接触python听到最多的总结了。在python中最基层的单位应该就是对象了,对象需要靠表达式建立处理,而表达式往往存在于语句中,多条语句组成代码块,多个代码块再组成一整个程序。python的核心其实是由语句和表达式组成。所以在这里简单探讨一下python中的语句和表达式。因为以后可能会接触到两个版本的python,所以这里讲一讲python2与python3的语句差异:1.python2中没有noloc
系统 2019-09-27 17:54:05 2087
itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。开源地址https://github.com/littlecodersh/ItChat文档:https://itchat.readthedocs.io/zh/latest/安装:pip3installitchat登入与登出登入并向文件助手发送一句话,登入时会经过扫码操作,类似于电脑微信登入1importitchat2#登入并保存登入状态,实现第一次运行时扫码,一定时间内再次运行就
系统 2019-09-27 17:47:08 2087
目的检测字符串中是否包含某字符集合中的字符方法最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器复制代码代码如下:defcontainAny(seq,aset):forcinseq:ifcinaset:returnTruereturnFalse第二种适用itertools模块来可以提高一点性能,本质上与前者是同种方法(不过此方法违背了Python的核心观点:简洁,清晰)itertools.ifilter(predicate,iterable)的说明M
系统 2019-09-27 17:46:52 2087
本次编写程序目的在于学习python爬虫技术入门,注意到有vip视频解析网站,于是进行编写,该程序可以跳过vip广告,或者vip5分钟时间限制。还可以保存浏览记录,十分方便。__author__='PythonStriker'importrequestsimportwebbrowserimportreimporttkinterastkfromtkinterimportttkimportosdata=["播放接口1","播放接口2",\"播放接口3","播放
系统 2019-09-27 17:46:03 2087
1、序列中元素的索引:第一个元素索引是0,第二个是1,依次递增最后一个元素索引是-1,倒数第二个是-2,依次递减2、序列(Sequence)的种类:列表(list)、元组(tuple)、字符串(string)、Unicode字符串、buffer对象、xrange对象3、列表和元组的区别:列表可以进行修改,但是元组不行4、tuple常作为字典的键5、序列都可以进行以下操作:索引(indexing)、分片(sliceing)、加(adding)、乘(multi
系统 2019-09-27 17:37:36 2087
看了一些基础的Python新手教程后,深深感觉到Python的简洁与强大,这是我的第一个PythonDemo。下面是完整代码与执行截图。代码:#encoding:utf-8'''@author:Techzero@email:techzero@163.com@time:2014-4-30下午1:31:04'''importosimportsysimportcPickleaspclassPerson:def__init__(self,name,email):'
系统 2019-08-12 01:52:12 2087
本人在XPSP3系统下使用python3.4.4导入PIL包pip3installpillow正常,但一importimagefromPIL时就报错:from.import_imagingascoreImportError:DLLloadfailed:找不到指定的模块pip3installPillow自动安装的是5.4.1版本。(在win10下该版本正常运行)在尝试uninstall再install若干次后,怀疑是XP系统中已没有更新相应动态库。尝试降Pi
系统 2019-09-27 17:55:43 2086
=一、链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而
系统 2019-09-27 17:54:53 2086