第一步:标记化处理表达式的第一步就是将其转化为包含一个个独立符号的列表。这一步很简单,且不是本文的重点,因此在此处我省略了很多。首先,我定义了一些标记(数字不在此中,它们是默认的标记)和一个标记类型:token_map={'+':'ADD','-':'ADD','*':'MUL','/':'MUL','(':'LPAR',')':'RPAR'}Token=namedtuple('Token',['name','value'])下面就是我用来标记`expr`
系统 2019-09-27 17:49:09 2179
0x00:使用xpath进行网页解析#coding:utf-8importrequestsimportosimportrefromlxmlimportetreeimporttimedefget_title(title):#获取标题,创建文件path=r"./Pic/"+titleifos.path.exists(path):#文件夹存在,返回returnpathelse:os.makedirs(path)#创建空文件夹returnpathdefpic_ge
系统 2019-09-27 17:48:14 2179
有很久没有更新我的博客了,在学习flask去了,别人都说flask不难,其实现在我也这么觉得,但是在刚接触的时候还是有点吃力的。在学习的过程中查阅了不少,也了解了许多,今天想做个总结。。。以免觉得学了那么久什么都没学到,还有防止以后忘记。一.关于装饰器,路由最开始接触的时候觉得好神奇,只会照着敲不知道怎么自己用起来@app.route(‘/')defhello:print(‘hello')注意:1.只有@这个东西是固定的,app是可以换的,这与蓝本中的定义
系统 2019-09-27 17:48:05 2179
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。一、创建字典字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}也可如此创建字典dict1={'abc':456}dict2={'abc':123,98.6:37}注意:每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({
系统 2019-09-27 17:47:55 2179
Python3使用pillow库生成随机验证码的代码如下所示:importrandom#pillow包的使用fromPILimportImage,ImageDraw,ImageFont,ImageFilter#Image负责处理图片#ImageDraw负责处理画笔#ImageFont负责处理文字#ImageFilter负责处理路径img=Image.new('RGB',(150,50),(255,255,255))#建立一个图片'''RGB:表示采用RGB
系统 2019-09-27 17:47:55 2179
首先声明,没有什么不良动机,因为经常会用translate.google.cn,就想着用Python模拟网页提交实现文档的批量翻译。据说有API,可是要收费。生成TokenGoogle为防爬虫而生成token的代码是Javascript的,且是根据网站的TKK值和提交的文本动态生成。网上搜到的一段Python代码有点小Bug,且缺少动态获取TKK的步骤。最后还是对照Javascript代码自己改成Python了。方法很简单,先转成易懂的Javascript
系统 2019-09-27 17:47:50 2179
你学习到今日,会发现python你基本都掌握了。可以完成基本的东西。。。。。突然有个问题,是为什么我还不能搞程序,完整实现一点东西(贵在坚持,入门就想吃大胖子,想太多了)另外一个问题,我们写出来简单的代码,本来一个很简单的内容,但是真正能用缺要debug很久。。。。(排查)bug###是昆虫,臭虫的意思,在计算机发展过程中,有一个故事,就是昆虫依附在电路板某个地方,导致无法开机。。。debug###就是驱虫,除虫的意思。(会网络的朋友,经常无奈的时候会de
系统 2019-09-27 17:47:06 2179
Python进行Redis数据迁移由于开发时的误操作,导致redis数据损坏,所以需要进行redis的数据迁移,网上大佬的教程基本都是需要下载附加工具,亦或是需要一些复杂的操作,个人觉得麻烦还不如写个脚本来的经济实惠。#-*-coding:utf-8-*-fromredisimportStrictRedis"""redis是用于操作Redis的第三方库,StrictRedis是官方推荐的方法,而且Redis是它的子类,Redis能做到的StrictRedi
系统 2019-09-27 17:46:53 2179
1.字典键-值对中,值元素的便捷创建增减主要是利用collections中的defaultdict普通复杂过程:pairs=[('a',1),('a',2),('b',2)]d={}forkey,valueinpairs:ifkeynotind:d[key]=[]d[key].append(value)或d={}#普通字典d.setdefault('a',[]).append(1)d.setdefault('a',[]).append(2)d.setdef
系统 2019-09-27 17:46:19 2179
在Python中,语法错误可以被Python解释器发现,但逻辑上错误或变量使用错误却不容易发现,如果结果没有符合预期,则需要调试,一个很好的调试工具:Python自带的pdb模块。pdb是Python自带的调试模块。使用pdb模块可以为脚本设置断点、单步执行、查看变量值等。pdb可以用命令行参数的方式启动,也可以使用import将其导入后再使用。复制代码代码如下:>>>dir(pdb)['Pdb','Repr','Restart','TESTCMD',..
系统 2019-09-27 17:46:04 2179