摘要:常见python 异常:AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError 输入/输出异常;基本上是无法打开文件ImportError 无法引入模块或包;基本上是路径问题或名称错误IndentationError 语法错误(的子类) ;代码没有正确对齐IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]KeyError&nbs
2017年02月11日
异常处理try..except..finally
摘要:IndentationErrorm,SyntaxError无法捕获,原因是因为编译器无法编译缩进错误,语法错误 要给你的代码添加错误检测及异常处理,只要将它们封装在 try-except 语句当中。 try 之后的代码组,就是你打算管理的代码。 except 之后的代码组,则是你处理错误的代码。 捕获异常:try: f=open(filename,'r')except IOError,e: &nbs
分类:Python
2017年02月11日
pickle实例2-不写文件直接传
摘要:>>> import pickle>>> a={'a':123,'b':456}>>> a{'a': 123, 'b': 456}>>> b=pickle.dumps(a) #写入>>> b"(dp0\nS'a'\np1\nI123\nsS'b'\np2\nI456\ns.">>> pickle.loads(b) #导出{'a': 123, 'b': 456}
分类:Python
2017年02月11日
pickle实例1-写文件
摘要: 将字典写入文件( 序列化):>>> import pickle>>> account_info={... '134134134':['alex31234',15000,15000]... }>>> f=file('account.pkl','wb')>>> pickle.dump(account_info,f)>>> account_info['134134134'][0]='Fiona'>>> pickle.dump(account_info,f)>>> f.close() [root@n
分类:Python
2017年02月11日
面向对象编程-类的属性-getattr
摘要:vim modify_attri.py#!/usr/bin/env pythonclass person: deftell(self,name): print 'hi myname is',name class student(person): def study(self): print 'I amstudying py right now' s=student()s.tell('rsc')s.study() s1=student()s1.tell('gmy')s1.study()s1.age=30print s1.age p=student(
分类:Python
2017年02月11日
面向对象编程-类的继承-person
摘要:#!/usr/bin/env pythonclass Person: def__init__(self,Type,Sex,Age,Name): self.race =Type self.sex = Sex self.age = Age self.name =Name deftalk(self,msg=0): self.msg = msg if self.msg !=0: printself.
分类:Python
2017年02月11日
面向对象编程-类的继承-inherit
摘要:vim inherit.py #!/usr/bin/env pythonclass SchoolMember: #申明一个基类 def__init__(self,name,gender,nationality='CN'): #初始化基类 self.name =name #定义类的属性 self.gender =gender &nb
分类:Python
2017年02月11日
面向对象编程-实例1-类变量通信
摘要:不同的方法可以通过类变量进行通信:#!/usr/bin/env pythonclass dog: def sayHi(self): print 'Himaster,I am your little dog,who do you want me to bite...' favorate_food = 'bone' #函数内部变量,其它方
分类:Python
2017年02月11日
socket-FTP-client
摘要:#!/usr/bin/env pythonimport socketimport sysimport os HOST,PORT="192.168.2.110",90c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)c.connect((HOST,PORT)) def recv_all(obj,msg_length): raw_result = '' while True: if msg_length<=4096: data =obj.recv(msg_length) 
分类:Python
2017年02月11日
socket-FTP-server
摘要:#!/usr/bin/env pythonimport commandsimport timeimport SocketServerclass MyTCPHandler(SocketServer.BaseRequestHandler): defrecv_all(self,obj,msg_length,des_file): while msg_length!=0: if msg_length<=4096: data =obj.recv(msg_length) &nb
分类:Python
2017年02月11日
socket-SSH模拟-client
摘要:#!/usr/bin/env pythonimport socketimport sys HOST,PORT="192.168.2.110",90sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.connect((HOST,PORT)) def recv_all(obj,msg_length): raw_result = '' while True: if msg_length<=4096: data =obj.recv(msg_length) &n
分类:Python
2017年02月11日
socket-SSH模拟-server
摘要:#!/usr/bin/env pythonimport commandsimport timeimport SocketServerclass MyTCPHandler(SocketServer.BaseRequestHandler): def handle(self): print 'Got anew connection from',self.client_address while True: cmd = self.request.recv(1024).strip() &nb
分类:Python
2017年02月11日
socket-多线程并发-client
摘要:#!/usr/bin/env pythonimport socketimport sys HOST,PORT="192.168.2.110",99sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.connect((HOST,PORT)) while True: data =raw_input('msg to send::').strip() if len(data) ==0:continue sock.sendall(data+"\n") received =sock.recv(1024) print&qu
分类:Python
2017年02月11日
socket-多线程并发-server
摘要:#!/usr/bin/env pythonimport SocketServerclass MyTCPHandler(SocketServer.BaseRequestHandler): def handle(self): print 'Got anew connection from',self.client_address while True: data =self.request.recv(1024).strip() if not data: &nbs
分类:Python
2017年02月11日
socket-阻塞模式-client
摘要:#!/usr/bin/env pythonimport socketHOST='192.168.2.110'PORT=9002c=socket.socket(socket.AF_INET,socket.SOCK_STREAM)c.connect((HOST,PORT)) while True: user_input =raw_input('msg to send::').strip() c.send(user_input) return_data=c.recv(1024) print'Received',return_datac.close()
分类:Python
2017年02月11日
socket-阻塞模式-server
摘要:实现了一对一的通信,如果另一个客户端来连接会阻塞(可以连接,但无法发送和接收数据)单进程串行执行#!/usr/bin/env pythonimport socketHOST='0.0.0.0'PORT= 9002s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind((HOST,PORT))s.listen(1) while True: conn,addr=s.accept() #accept()函数只接受一个用户连接,另一个用户连接会阻塞&
分类:Python
2017年02月11日
socket-实例2-client
摘要:#!/usr/bin/env pythonimport socketHOST='192.168.2.110'PORT='50007's=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect((HOST,PORT)) s.sendall('Hello,world') #发送数据到server端data= s.recv(1024) #收server端发过来的数据s.close()print 'Received',repr(data)
分类:Python
2017年02月11日
socket-实例1-server
摘要:#!/usr/bin/env pythonimport socketHOST=''PORT= 50007s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind((HOST,PORT))s.listen(1)conn,addr=s.accept() #只接收一个客户端的连接 #conn客户端连接过来的实例 #addr客户端的IP地址 print 'Connectedby',addrwhile 1:
分类:Python
2017年02月11日
文档字符串
摘要:[root@localhostpython]# cat foo.py#!/usr/bin/env python"""foo.py--sample module demonstrating documentation strings"""class Foo(object): """Foo() -empty class ... to bedeveloped"""def bar(x): """bar(x) -function docstring for b
分类:Python
2017年02月11日
__builtin__与__builtins__
摘要:在学习Python时,很多人会问到__builtin__、__builtins__和builtins之间有什么关系。百度或Google一下,有很多答案,但是这些答案要么不准确,要么只说了一点点,并不全面。本文将给大家一个较为全面的答案。以下结果是经过本人试验过的(测试环境:Linux Mint 14, Python2.7.3和Python3.2.3),并参考了Python的邮件列表。在Python中,有一个内建模块,该模块中有一些常用函数;