我们在做工作中经常会使用到json模块,今天就简单介绍下json模块什么是jsonJSON,全称为JavaScriptObjectNotation,也就是JavaScript对象标记,它通过对象和数组的组合米表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。json模块在python中可以作为数据解析json对象和数组在JavaScript语言中,一切都是对象。任何支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等,但是对
系统 2019-09-27 17:55:20 2004
背景有一个工作邮箱,会接收许多人不断地投递的简历。由于邮件数量比较多,因此产生了一个需求。要求自动将邮件从邮件服务器取回到本地,并将邮件的基本信息存入本地的sqlite数据库。邮件的正文以单独文件的形式存放在文件夹下。实现备注:在python2.7下测试运行正常,如果用python3,可能需要对代码稍做修改。1,邮件配置参数文件mail.conf[mail163]#此外应写上你实际的帐号与密码user=xxxx@163.compassword=xxxxxp
系统 2019-09-27 17:55:14 2004
单线程执行python的内置模块提供了两个内置模块:thread和threading,thread是源生模块,threading是扩展模块,在thread的基础上进行了封装及改进。所以只需要使用threading这个模块就能完成并发的测试实例创建并启动一个单线程importthreadingdefmyTestFunc():print("我是一个函数")t=threading.Thread(target=myTestFunc)#创建一个线程t.start()
系统 2019-09-27 17:54:54 2004
迭代器迭代式访问元素的一种方式,迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。常见的字符串,列表或元组对象都可用于创建迭代器:>>>list=[1,2,3,4,5]>>>it=iter(list)>>>print(next(it))1>>>print(next(it))2迭代器对象可以使用常规for语句进行遍历:list=[
系统 2019-09-27 17:54:17 2004
本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码!#-*-coding:utf-8-*importreimportosimporturllibimporturllib2frombs4importBeautifulSoupdefcraw(url,page):html1=urllib2.urlopen(url).read(
系统 2019-09-27 17:53:53 2004
源代码:defmain(w_face,w_body):return("我的身材:"+face(w_face)+body(w_body))#main('青青','子衿')print(main('青青','子衿'))defface(name):return(name+'脸蛋')defbody(name):return(name+'身材')报错:line2,inmainreturn("我的身材:"+face(w_face)+body(w_body))NameEr
系统 2019-09-27 17:53:43 2004
概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c
系统 2019-09-27 17:52:39 2004
1,递归函数的定义:函数内部可以调用其他的函数,当然可以调用函数自己,函数调用自身的编程技巧称为递归。2,递归函数的代码特点:函数内部的代码是相同的,只是传递的参数不同、需设置当参数满足条件时,不在执行函数,称为递归的出口,这个必须设置,否则会造成死循环。3,示例代码:倒序打印defsum_numbers(num):print(num)#递归的出口,当参数满足条件时,不在进行递归.#递归出口很重要,如不设置则会出现死循环ifnum==1:return1#函
系统 2019-09-27 17:52:06 2004
原理在网页源码中如果出现将用户输入数据进行反序列化当成参数输出时,出现漏洞,可造成任意命令执行例如网页源码try:become=self.get_argument('become')p=pickle.loads(urllib.unquote(become))returnself.render('form.html',res=p,member=1)except:returnself.render('form.html',res='ThisisBlackTec
系统 2019-09-27 17:51:41 2004
安装前准备(准备编译环境)yuminstallzlib-develbzip2-developenssl-develncurses-develgcc-c++gcc-y获取Python3.6源码#获取源码wgethttps://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz#安装xzyuminstallxz-y#解压tar-xvfPython-3.6.3.tar.xz-C/usr/local/src/安装
系统 2019-09-27 17:51:11 2004