一、为什么要安装虚拟环境情景一、项目A需要某个库的1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要来回的卸载安装了。情景二,项目A需要python2.7环境下运行,项目B需要在python3.6环境运行,如果使用虚拟环境可以分别为这两个项目配置不同的运行环境总的来说:virtualenv是一个创建隔绝的Python环境的工具,能为每一个python项目创建独立的,定制的环境二、安装步骤1、现在电脑上安装你需
系统 2019-09-27 17:47:45 1943
下面程序能够爬取百度图片一个网页里面的所以图片,值得关注的是匹配字段,正则表达式要写正确,虽然匹配成功的但是爬取的图片还是较少,下篇我会采取get方法来请求更多图片来爬取。importurllib.requestimportreimporttimedefopen_url(url):req=urllib.request.Request(url)req.add_header('User-Agent','Mozilla/5.0(WindowsNT6.1;WOW6
系统 2019-09-27 17:47:28 1943
某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下:首先我们可以参考ulipad的实现:mixin。这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数。代码如下所示:classWi
系统 2019-09-27 17:47:25 1943
需要建立2个文件,一个作为客户端,一个作为服务端文件一作为客户端client,文件二作为服务端server文件一#client客户端#TCP必须建立连接importsocket#导入模块#SOCK_STREAM---TCP协议方式#AF_INET----我的是ipv4地址#1,创建socket对象:指定传输协议s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#2,建立连接发送连接请求ip地址和端口号s.c
系统 2019-09-27 17:47:20 1943
在程序运行的过程中,所有的变量都是在内存中,比如定义一个dict1={“name”:“zhangsan”,“age”:20},我们对name属性进行修改,改"wangwu",但是一旦程序结束,变量所占用的内存就会被操作系统全部回收,如果没有把修改后的name存储到磁盘上,下次重新运行程序,属性name又会被初始化为"zhangsan"。这时候就会使用到序列化与反序列化,将序列化后的内容写入磁盘,这里会讲到pickle模块与json模块去实现序列化与反序列化
系统 2019-09-27 17:45:52 1943
闭包并不是什么新奇的概念,它早在高级语言开始发展的年代就产生了。闭包(Closure)是词法闭包(LexicalClosure)的简称。对闭包的具体定义有很多种说法,这些说法大体可以分为两类:一种说法认为闭包是符合一定条件的函数,比如参考资源中这样定义闭包:闭包是在其词法上下文中引用了自由变量的函数。另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。比如参考资源中就有这样的的定义:在实现深约束时,需要创建一个能显式表示引用环境的东西,并将它与相
系统 2019-09-27 17:38:28 1943
cmp()方法比较两个列表的元素。语法以下是cmp()方法的语法:cmp(list1,list2)参数list1--这是要进行比较的第一个列表list2--这是要进行比较的第二个列表返回值如果元素是相同类型的,执行比较,并返回结果。如果元素是不同的类型,检查,看看他们是否是数字如果是数字必要时强制进行数字比较如果任一元素是数字,然后在另一元素是“大”(数字是“最小”)否则,类型是按名称字母顺序排序如果到达了列表中的一个的结束,较长的列表是“大”。如果耗尽列
系统 2019-09-27 17:38:03 1943
在Python中要连接数据库,首先我们得先安装几个重要的东西,主要有:(1)Python-dev包(2)setuptools-0.6c11.tar.gz(3)MySQL-python-1.2.3.tar.gz下面分别来说说这三个主要的包的安装步骤:(1)Python-dev包直接yuminstallpython-devel(2)setuptools-0.6c11.tar.gz在网上下载后,先解压:tarzxfsetuptools-0.6c11.tar.gz
系统 2019-09-27 17:37:55 1943
本人已经在运维行业工作了将近十年,我最早接触Linux是在大二的样子,那时候只追求易懂,所以就选择了Ubuntu作为学习、使用的对象,它简单、易用、好操作、界面绚丽,对于想接触Linux的新手来说是非常不错的。后来因为个人的知识有限,玩不转Linux的种种配置、各种插件以及软件缺失,加之没有持之以恒的坚持下去,使用了一段时间后感觉Bug多、没游戏、办公写文档也不方便,很多软件需要现学,最终希望用大学时光学习Linux的愿望夭折了。后来一段时间里,自己接触了
系统 2019-09-27 17:37:48 1943
集合特点:集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键,与列表和元组不同,集合无法通过数字进行索引。此外,集合中的元素不能重复。定义set()->newemptysetobjectset(iterable)->newsetobjects={0}应用:去重>>>lst1=[1,1,2,2,3,4,2]>>>list(set(lst1))[1,2,3,4]常用操作集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^子集<<=及超集>>=
系统 2019-09-27 17:37:45 1943