不论什么语言,我们都需要注意性能优化问题,提高执行效率。选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮。尽管Python从未如C和Java一般快速,但是不少Python项目都处于开发语言领先位置。Python很简单易用,但大多数人使用Python都知道在处理密集型cpu工作时,它的数量级依然低于C、Java和JavaScript。但不少第三方不愿赘述Python的优点,而是决定自内而外提
系统 2019-09-27 17:45:40 1442
最近研究研究了css,少不了去网上分析一下别人的网页,但很多网站的css文件都是要么写在一行,要么一个换行都没有,看起来极其痛苦,所以写一个脚本转换一下,转换为比较有可读性的格式。下面就是这个脚本:importstring,sysimportre,StringIOTAB=4defformat(ss):f=open(ss,"r")data=f.read()f.close()dlen=len(data)i=0buf=StringIO.StringIO()sta
系统 2019-09-27 17:38:44 1442
字符串--不可改变的序列如同大多数高级编程语言一样,变长字符串是Python中的基本类型。Python在“后台”分配内存以保存字符串(或其它值),程序员不必为此操心。Python还有一些其它高级语言没有的字符串处理功能。在Python中,字符串是“不可改变的序列”。尽管不能“按位置”修改字符串(如字节组),但程序可以引用字符串的元素或子序列,就象使用任何序列一样。Python使用灵活的“分片”操作来引用子序列,字符片段的格式类似于电子表格中一定范围的行或列
系统 2019-09-27 17:38:37 1442
python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判
系统 2019-09-27 17:38:36 1442
myPhoneBook2.py#!/usr/bin/python#-*-coding:utf-8-*-importreclassPhoneBook(object):'''这是一个电话簿脚本。该脚本能够实现AddContact:添加联系人信息ShowContact:查找姓名显示联系人SaveContacts:存储联系人到TXT文档(存储格式――姓名:号码/号码)LoadContacts:从txt文档中载入联系人'''def__init__(self):sel
系统 2019-09-27 17:38:30 1442
前言在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。可变参数(*)可变参数,顾名思义,它的参数是可变的,比如列表、字典等。如果我们需要函数处理可变数量参数的时候,就可以使用可变参数。我们在查看很多Python源码时,经常会看到某函数(*参数1,**参数2)这样的函数定义,这个*参数和**参数就是可变参数,一时会让
系统 2019-09-27 17:38:26 1442
JSON编码支持的基本数据类型为None,bool,int,float和str,以及包含这些类型数据的lists,tuples和dictionaries。对于dictionaries,keys需要是字符串类型(字典中任何非字符串类型的key在编码时会先转换为字符串)。为了遵循JSON规范,你应该只编码Python的lists和dictionaries。而且,在web应用程序中,顶层对象被编码为一个字典是一个标准做法。JSON编码的格式对于Python语法而
系统 2019-09-27 17:38:14 1442
Python可以使用xml.etree.ElementTree模块从简单的XML文档中提取数据。为了演示,假设你想解析PlanetPython上的RSS源。下面是相应的代码:fromurllib.requestimporturlopenfromxml.etree.ElementTreeimportparse#DownloadtheRSSfeedandparseitu=urlopen('http://planet.python.org/rss20.xml')
系统 2019-09-27 17:38:13 1442
前言最近在维护项目的python项目代码,项目使用了python的日志模块logging,设定了保存的日志数目,不过没有生效,还要通过contab定时清理数据。分析项目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log
系统 2019-09-27 17:38:11 1442
选择了脚本语言就要忍受其速度,这句话在某种程度上说明了python作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在performance较差的机器上,因此有必要进行一定的代码优化来提高程序的执行效率。如何进行Python性能优化,是本文探讨的主要问题。本文会涉及常见的代码优化方法,性能优化工具的使用以及如何诊断代码的性能瓶颈等内容,希望可以给Python开发人员一定的参考。代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的
系统 2019-09-27 17:38:10 1442
前言相信对于python开发人员来说,机器上有不同的python版本是很正常的,因为开发的项目有的用2.6或2.7,有的就要用3.0+版本,如何把这些不同的版本管理好,保持每个环境的干净和独立,方便不同版本之间的切换,这时候就要用到我们的虚拟环境了,所以今天我们就来看看python虚拟环境搭建工具pyenv的使用。1、安装gitclonehttps://github.com/yyuu/pyenv.git~/.pyenvecho‘exportPYENV_RO
系统 2019-09-27 17:38:00 1442
Python安装Django本身是纯Python编写的,所以安装框架的第一步是确保你已经安装了Python。Python版本核心Django框架可以工作在2.3至2.6(包括2.3和2.6)之间的任何Python版本。Django的可选GIS(地理信息系统)支持需要Python2.4到2.6。如果你不确定要安装Python的什么版本,并且你完全拿不定主意的话,那就选2.x系列的最新版本吧。版本2.6。虽然Django在2.3至2.6版之间的任意Python
系统 2019-09-27 17:37:57 1442
最近在自学Python语言,看到向列表增加更多数据时被append(),extend(),insert()方法绕晕了。append和extend都只需要一个参数,并且自动添加到数组末尾,如果需要添加多个,可用数组嵌套,但是append是将嵌套后的数组作为一个对象,extend是将嵌套的数组内容作为多个对象,添加到原数组中作为编程0基础的小白,觉得有必要自己再梳理一遍:1.append()方法是指在列表末尾增加一个数据项。例如:在students列表末尾增加
系统 2019-09-27 17:37:54 1442
一、含有一个装饰器#encoding:utf-8############含有一个装饰器#########defouter(func):definner(*args,**kwargs):#要装饰f1(),这里用这俩形式参数,可以接受任意个参数,不管f1定义几个参数print"1"r=func(*args,**kwargs)#这里要用func,不要用f1print"2"returnrreturninner@outer#这里outer不要加括号deff1(a1,
系统 2019-09-27 17:37:53 1442
异常(exceptions)是Python中一种非常重要的类型,它和语法错误不同,是在程序运行期间引发的错误。Python中内置了很多异常,如IOError,NameError,KeyboardInterrupt等,更多的异常可以点击这里。异常的意义在于提供一种更加优雅的运行方式,例如用Python编写一个计算器,如果用户输入不能计算的对象,则可以抛出异常,并进行处理,如下:whileTrue:try:x=int(input('PleaseInenterA
系统 2019-09-27 17:37:47 1442