在程序运行的过程中,所有的变量都是在内存中,有时候希望将对象存储下来。我们把对象从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling。picklePython提供两个模块来实现序列化:cPickle和pickle。这两个模块功能是一样的,区别在于cPickle是C语言写的,速度快,pickle是纯Python写的,速度慢。将对象保存为字符串importpicklea1=['abc',[1,2],{'x':3}]s1=pickle.
系统 2019-09-27 17:53:47 2390
Python爬取豆瓣电影,最简单,最暴力,直接搞Api首先是api地址(地址去官网溜达一圈很容易就找到):requests.get('https://movie.douban.com/j/search_subjects?type=movie&tag={}&sort=recommend&page_limit={}&page_start=0'.format(tag,page)使用requests发送get请求拿到json数据(一次可以抓很多条,所以没必要循环抓
系统 2019-09-27 17:53:31 2390
HTMLParser是python用来解析html的模块。它可以分析出html里面的标签、数据等等,是一种处理html的简便途径。HTMLParser采用的是一种事件驱动的模式,当HTMLParser找到一个特定的标记时,它会去调用一个用户定义的函数,以此来通知程序处理。它主要的用户回调函数的命名都是以handler_开头的,都是HTMLParser的成员函数。当我们使用时,就从HTMLParser派生出新的类,然后重新定义这几个以handler_开头的函
系统 2019-09-27 17:50:28 2390
函数的参数在定义Python函数时可定义形参,这些参数在调用时候才能确定具体的值,由函数的调用者负责为行参传入参数值函数的参数类型一、位置参数也叫必传参数,顺序参数,是最重要的,也是必须在调用函数时明确提供的参数!位置参数必须按先后顺序,一一对应,个数不多不少的传递!说明:a,b,c是函数add的行参,没有具体的值,只有在add(x,y,z)是才被传入值,a=x=1,b=y=2,c=z=3,其中x,y,z叫做实参,add(4,5,6,7),add(5,7)
系统 2019-09-27 17:50:17 2390
for循环本系列前面“探索Python,第5部分:用Python编程”一文讨论了if语句和while循环,讨论了复合语句以及适当缩进Python语句来指示相关Python代码块。该文的结尾介绍了Pythonfor循环。但就其使用和功能来说,for循环更值得关注,所以本文单独讲述该循环。for循环有一个简单的语法,使您可以从容器对象中提取单个项目并对其进行某些操作。简单地说,使用for循环,可以迭代中对象集合的项目。对象集合可以是任何Python容器类型,包
系统 2019-09-27 17:49:45 2390
在python并行处理任务时要使用多线程还是多进程?说到这个话题,必须要提的GIL(GlobalInterpreterLock)全局解释锁,当Cpython每次执行字节码时都要先申请这个锁。那么问题就来了,如果使用多线程是比也会受到影响。多线程和多进程程序比较,哪个性能更高?还是拿一个实例运行来看看吧~#写一个简单的例子,计算100W个随机数的和8次,同时将分散到8个线程进行运算。#thread.py#!/usr/bin/envpythonimportra
系统 2019-09-27 17:48:57 2390
Python运行的慢是历来被诟病的,一方面和语言有关,另一方面可能就是你代码的问题。语言方面的问题我们解决不了,所以只能在编程技巧上来提高程序的运行效率。下面就给大家分享几个提高运行效率的编程方法。首先,我们需要来衡量代码的时间和空间的复杂性,不然仅仅用我们的肉眼很难感受代码时间长短的变化。python中的profiler可以帮助我们测量程序的时间和空间复杂度。使用时通过-o参数传入可选输出文件以保留性能日志。具体使用方法如下:python-mcProfi
系统 2019-09-27 17:48:32 2390
列表和元组可以将列表和元组当成普通的“数组”,它能保存任意数量任意类型的Python对象。和数组一样,通过从0开始的数字索引访问元素,但是列表和元组可以存储不同类型的对象。列表和元组有几处重要的区别。列表元素用中括号([])包裹,元素的个数及元素的值可以改变。元组元素用小括号(())包裹,不可以更改(尽管他们的内容可以)。元组可以看成是只读的列表。通过切片运算([]和[:])可以得到子集,这一点与字符串的使用方法一样。>>>aList=[1,2,3,4]>
系统 2019-09-27 17:48:08 2390
主流的webserver一个巴掌就能数出来,apache,lighttpd,nginx,iisapplication,中文名叫做应用服务,就是你基于某个webframework写的应用代码DBserver泛指存储服务,web开发中用mysql比较多,最近几年因为网站规模扩大,memcache,redis这种key-value等存储也流行开来放在最前面的webserver有3个功能高效率处理静态文件,webserver都是用c开发,调用是native的函数,
系统 2019-09-27 17:48:08 2390
在文章《Subversion详细说明》中,我们曾经建立了一个版本控制仓库,现在打开这个版本控制仓库,让我们来看看这个目录结构,我们会在目录结构中找到一个叫做conf的文件夹,打开这个文件夹,你会看到三个文件,分别叫做authz,passwd,svnserve.conf。下面我们就来介绍一下这三个文件的作用格式什么。首先,我们介绍passwd这个文件。用你习惯的文本编辑器打开这个文件,你会看到一些使用“#”注释掉的说明,其中关键的就是在[users]下面,有
系统 2019-08-29 23:52:37 2390