04 2016 档案
摘要:optparse模块主要是用来对参数的记录,相对来说比较灵活, 例子代码如下: #!/usr/bin/env pythonfrom optparse import OptionParserusage = 'usage:%prog [options] arg' #主要是总的使用信息,表示如何...
阅读全文
摘要:简单记录一下fnmatch模块的使用,此模块的主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格。字面意思感觉就是filename match 如下例子所示: #!/usr/bin/env pythonimport osimport fnmatchfor filename i...
阅读全文
摘要:今天下午,在装操作系统的时候,特意的测试了下raid1的性能。 1、 开启操作系统 直接正常开启操作系统,操作系统的硬盘做的是raid1,从而数据写俩份,从而在损坏一张盘之后,另外一张盘并不会收到影响 2、 直接拔出硬盘 在系统运行的时候,直接拔出硬盘,在拔出硬盘的同时,服务器进行报警,报警声音...
阅读全文
摘要:一直都是在虚拟机上进行安装linux操作系统,在服务器上安装的很少,也没有碰到过没找到驱动的情况,例如什么raid卡驱动,网卡驱动等异常情况的发生。 这次安装了两台服务器,浪潮的提供的服务器,硬盘是两块,做的raid1,本身安装的是centos系统,由于我们这边基本使用的RHEL5.5,从而...
阅读全文
摘要:在上篇中,简单的比较了下new方法和init方法,然后结合网上的东西看了一点,发现。。看书有的时候说的并不全面。 __new__方法是一个类方法,主要作用是来指导如何生成类的实例, 主要用于,当需要生成一些不可变对象的时候,例如int,string等类型的时候,提供的这些类实例化过程的一...
阅读全文
摘要:1、 类中的特殊方法 在类里面有俩构造器方法:一个是init方法,一个是new方法 #!/usr/bin/env pythonclass Kel(object): def __init__(self,name): self.name = name pri...
阅读全文
摘要:1、 类中的方法 在类里主要有三种方法: a、普通方法:在普通方法定义的时候,需要一个对象的实例参数,从而在类中定义普通方法的时候,都必须传送一个参数self,那么这个参数也就是object b、类方法:在类方法中,传递的参数为类也就是class,在一般使用中参数为cls c、静态方法:无需任何...
阅读全文
摘要:1、 可变长参数 在函数中可变长参数分为两种:一种是非关键字参数,表示为元组;一种是关键字参数,表示为字典。 具体看下面的例子代码,相当于单元测试: #!/usr/bin/env python#'this is a example of the unit test'def testit(func...
阅读全文
摘要:1、前言 函数也是一个对象,从而可以增加属性,使用句点来表示属性。 如果内部函数的定义包含了在外部函数中定义的对象的引用(外部对象可以是在外部函数之外),那么内部函数被称之为闭包。 2、装饰器 装饰器就是包装原来的函数,从而在不需要修改原来代码的基础之上,可以做更多的事情。 装饰器语法如下: @...
阅读全文
摘要:1、前言 在每种语言中,总是会存在函数,那么为什么每种语言都有函数这个东西呢? 函数,简单的来说,是一种对程序在逻辑上进行结构化的一种编程方法,主要就是将需要解决的问题来进行抽象,来进行分解,从而达到代码复用的目的。 2、函数的基本概念 创建函数如下: >>> def createFunct...
阅读全文
摘要:1、 获取字典中的值,但是无异常 当在字典中取值的时候,可以使用如下两种方式: >>> d = {'name':'kel'}>>> d{'name': 'kel'}>>> d['name']'kel'>>> d.get('name')'kel'>>> d.get('not')>>> d.get(...
阅读全文
摘要:python在linux上运行,使用的是vim,每次都是敲四个空格进行缩进,真尼玛的蛋疼,书本果然是个好东西,从而根据书本python高级编程中的设置配置而来: 1、进行自动补全的脚本 [root@python ~]# cat .pythonstartup #python startup fil...
阅读全文
摘要:在python中,基本上使用的是引用,那么就会造成一个隐式的内存共享,特别是在容器对象中,例如list,dictionary 对于不可变对象,是不会造成隐式的内存共享情况,如下所示: >>> alist = [0]*5>>> print alist[0, 0, 0, 0, 0]>>> ali...
阅读全文
摘要:1、 如何来进行对象的拷贝 在进行对象拷贝的时候,一不小心就会变成了对象引用,在赋值的时候使用的是引用,而在其他的例如a=【】的时候是对象的绑定。 >>> list1['kel', 2]>>> list2 = list1>>> list2['kel', 2]>>> list2[0]='chan...
阅读全文
摘要:在进行测试文件导入的时候,发现内存占用很大,如下所示: [root@python ~]# vmstat 1 -S M 3procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b ...
阅读全文
摘要:一边循环一边计算的机制,称之为生成器generator;生成器的创建具有两种方式: 1、 第一种是直接使用生成器表达式,也就是将列表解析的中括号修改为圆括号即可 2、第二种是在一个函数的定义中包含yield关键字,那么这个函数也就是一个生成器 生成器是特定的函数,允许返回一个值,然后暂停代码的执...
阅读全文
摘要:基于python2.7中的字符串: unicode——》编码encode('utf-8')——》写入文件 读出文件——》解码decode('utf-8')——》unicode 在使用unicode的时候,必须注意以下的原则: 1、 程序中出现字符串的地方加前缀u,表示为unicode类型 2...
阅读全文
摘要:1、前言 本文主要讲述在linux环境下进行编译wxpython,在windows下面安装wxpython很简单,只要下载,然后直接执行exe文件,下一步下一步即可安装,在linux下面,则具有很多步骤。 wxpython下载地址为: http://wxpyt...
阅读全文
摘要:两台相同的虚拟机,一台没有错误,一个经常出现警告,内容如下所示: The remote SSH server rejected X11 forwarding request 找了很多方法,最后发现是安装包不全,必须安装如下安装包: [root@FTP demo]# rpm -qa |grep...
阅读全文
摘要:python中,具体到对list进行排序的方法有俩,一个是list自带的sort方法,这个是直接对list进行操作,只有list才包含的方法;另外一个是内建函数sorted方法,可以对所有可迭代的对象进行排序操作,在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一...
阅读全文
摘要:itertools模块提供的全部是处理迭代功能的函数,他们的返回值不是list,而是迭代对象,只有在for循环的时候才会真正去计算。 使用迭代器的好处是在循环的时候才去取值,而直接返回值为list的结果会占用大量的内存,从而使用迭代器的话,使用了惰计算的方式,或者是延迟计算,从而在性能上能好...
阅读全文
摘要:在使用python写程序的时候,发现一个可以无限迭代的迭代器,从而可以直接将系统中的内存占满,那么占满之后会发生什么呢? 1、 创建无限迭代,生成列表,如下: [root@python ~]# pythonPython 2.7.11 (default, Mar 20 2016, 14:21:08...
阅读全文
摘要:在进行for循环的时候,会碰到两个名词:一个是可迭代的对象iterable,一个是迭代器iterator。 可迭代的对象有很多,例如sequence中的string,list,tuple,还有字典dict,文件file等,在可迭代的对象中,主要是实现了__iter__()方法,从而使可迭代的...
阅读全文
摘要:在进行python写GUI程序的时候,使用Tkinter,发现无法执行程序,报错如下: X connection to localhost:10.0 broken(explicit kill or server shutdown) 原因分析: 主要是因为环境变量设置不当导致。 解决方法: 报错的...
阅读全文
摘要:在看到图形界面编程的时候,需要导入Tkinter模块,从而在解释器中进行import Tkinter,然后。。。报错如下: >>> from tkinter import *Traceback (most recent call last):File "", line 1, in File "/...
阅读全文