上下文管理器(contextmanager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用(比如为对象分配或者释放内存)。它的语法形式是with...as...关闭文件我们会进行这样的操作:打开文件,读写,关闭文件。程序员经常会忘记关闭文件。上下文管理器可以在不需要文件的时候,自动关闭文件。下面我们看一下两段程序:复制代码代码如下:#withoutcontextmanagerf=open(
系统 2019-09-27 17:45:49 2301
1、新建独立运行环境,命名为env[root@vultr~]#mkdirprojects#测试的项目总目录[root@vultr~]#pip3installvirtualenv[root@vultr~]#cdprojects[root@vultrprojects]#virtualenvenv--python=python3--no-site-packages--python:指定Python版本--no-site-packages:不复制系统已安装Pyth
系统 2019-09-27 17:57:01 2300
描述:输入一个大于0的整数n,输出1到n的全排列:例如:n=3,输出[[3,2,1],[2,3,1],[2,1,3],[3,1,2],[1,3,2],[1,2,3]]n=4,输出[[4,3,2,1],[3,4,2,1],[3,2,4,1],[3,2,1,4],[4,2,3,1],[2,4,3,1],[2,3,4,1],[2,3,1,4],[4,2,1,3],[2,4,1,3],[2,1,4,3],[2,1,3,4],[4,3,1,2],[3,4,1,2],
系统 2019-09-27 17:55:25 2300
Python中list.sort()是列表中非常常用的排序函数,key参数可以对单个属性进行排序。但是想要实现类似sql中orderbyid,age一样,对多个字段进行排序就不支持了。py2中sort()函数还有个cmp参数可以传入一个方法,可以自定义对多个属性进行排序,py3中移除了这个字段。py3想要实现这个功能,需要使用functools模块中的方法,实例如下#!/usr/bin/envpython#-*-coding:utf-8-*-#Author
系统 2019-09-27 17:55:16 2300
python读取Excel表格文件,例如获取这个文件的数据python读取Excel表格文件,需要如下步骤:1、安装Excel读取数据的库-----xlrd直接pipinstallxlrd安装xlrd库#引入Excel库的xlrdimportxlrd2、获取Excel文件的位置并且读取进来#导入需要读取Excel表格的路径data=xlrd.open_workbook(r'C:\Users\NHT\Desktop\Data\\test1.xlsx')tab
系统 2019-09-27 17:54:19 2300
经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如:修改前:[脚本之家]MacOSXforUnixGeeks[www.jb51.net].mobi修改后:MacOSXforUnixGeeks.mobipython代码如下:复制代码代码如下:importosimportredefrename_dir(dir,regex,f):ifnotos.path.isdir(
系统 2019-09-27 17:54:13 2300
回过头去敲循环语句的时候,我又碰到了问题:var=1whilevar==1:...num=int(input("输入一个数字:"))...print("你输入的数字是:",num)...输入一个数字:4你输入的数字是:4输入一个数字:7你输入的数字是:7输入一个数字:7.8Traceback(mostrecentcalllast):File"",line2,inValueError:invalidliteralforint()withbase10:'7.8
系统 2019-09-27 17:50:53 2300
1.从docker仓库拉取redis镜像dockerpullredis2.在/home下分别创建redis-6379-data,redis-6380-data,redis-6381-data3.拷贝/etc/redis/redis.conf到/home下4.复制redis.conf为redis-6379.conf,redis-6380.conf,redis.6381.con并且分别修改其中的配置,logfile指定不同的文件port6380logfile"
系统 2019-09-27 17:50:32 2300
Python的热度一直高居不下,除了简单易学之外,落地到应用层面也有很多方向,运维,自动化测试,后端开发,机器学习…更接地气的是Python在数据分析领域的表现:使用Python数据分析进行实战案例研究“人生苦短,我用Python”,各个行业都会有大量的数据需要处理,Python在数据处理领域有着得天独厚的优势,调用matplotlib库用几行代码快速整理数据并出图:调用matplotlib库用几行代码快速整理数据并出图写几十行代码便能实现表情包爬取以前说
系统 2019-09-27 17:50:07 2300
python2和python3对于字符串的处理有很大的区别熟悉了python2的写法用python3时真的会遇到很多问题啊……区别python2中有一种类型叫做unicode型,例type(u"a")=>str型type("a".decode('utf8'))=>unicode型两者返回的类型都是unicode型而在python3中,所有的字符串都是unicode,所以就不存在单独的unicode型,全部都是字符串型type(u"a")=>str型type
系统 2019-09-27 17:47:58 2300
#!/usr/bin/envpython#-*-coding:utf-8-*-#注释换行写代码\进制十进制123456789二进制0b123八进制0o123十六进制0x123变量不用声明必须赋值字符串''""""""""''''''用来括长字符串,保留换行格式转义字符\\uxxxx表示使用Unicode编码#eg:"\u0040"格式化字符串在Python中很少用“+”进行字符串拼接,字符串只能和字符串拼接print('a=',a)创建字符串时指定占位符b
系统 2019-09-27 17:47:34 2300
0x00:创建一键多值字典字典是Python中的一种可变容器,通常以这种形式出现:d={key1:value1,key2:value2,key3:value3}Python没有规定字典中值的类型,所以如果想让字典中的一个键对应多个值,只要把这些值放到列表这样的容器里就行了。student={'a':[76,54,82],'b':[92,67,88]}为了方便创建这样的字典,可以使用collections模块中的defaultdict类。一般在访问一个字典中
系统 2019-09-27 17:46:49 2300
python实现删除文件或文件夹最近自己学习Python的知识,自己学习抓取网页的内容知识等,在学习的时候Python删除文件夹或者文件知识的时候,觉得本篇内容不错,推荐给大家。实例代码,仔细看注释明细:#-*-coding:UTF-8-*-#有时候要删除文件夹里文件或文件夹#这个小类用来删除文件或文件夹还是相当有用的#删除文件时有时希看到删除的结果,于是就有了这个Deleter了#下面的一些文件注释用的是Doxygen的样式#用了英文,先就不改回中文吧。
系统 2019-09-27 17:38:43 2300
一、概述:Python的GC模块主要运用了“引用计数”(referencecounting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(markandsweep)解决容器对象可能产生的循环引用的问题。通过“分代回收”(generationcollection)以空间换取时间来进一步提高垃圾回收的效率。二、引用计数在Python中,大多数对象的生命周期都是通过对象的引用计数来管理的。从广义上来讲,引用计数也是一种垃圾收集机制,而且也是一种
系统 2019-09-27 17:38:39 2300
一、anacondapython版本对应关系python2.7.14对应Anaconda2-5.0.1python3.6对应Anaconda3-4.3.0二、下载anaconda镜像下载地址:清华镜像源官方下载地址:https://repo.anaconda.com/archive/三、安装anaconda点击下载的exe文件进行安装添加环境变量:C:\python27;C:\python27\Scripts;C:\python36;C:\python36
系统 2019-09-27 17:57:11 2299