随笔分类 - Python
摘要:前面几节我们写的socket都只能实现服务端与一个客户端通信,并不能实现服务端与多客户端同时通信。接下来我们就来学习一下如何实现服务端同时与多个客户端通信,即并发。 Socket Server socketserver就是对socket的一个再封装,主要功能就是实现并发。 socketserver模
阅读全文
摘要:利用socket实现文件传送,大约分为如下几步: 1.读取文件名2.检测文件是否存在3.打开文件(别忘了最后关闭文件)4.检测文件大小5.发送文件大小给客户端6.等客户端确认7.开始边读边发数据8.md5验证 实例1:实现步骤1-7 运行代码 #Author:Zheng Na #ftp服务端 imp
阅读全文
摘要:1.异常基础 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! 注意:Python3.x中Exception和e之间用 as ,Python2.7中Exception和e之间用 as 和 逗号 均可。 2.异常种
阅读全文
摘要:动态导入模块就是只知道str类型的模块名字符串,通过这个字符串导入模块。 准备: 首先创建一个模块目录lib,然后在目录内创建一个模块 aa.py: 然后在lib目录平级新建测试代码 test.py,实现动态导入模块。 方法1: __import__ 代码: 说明: 1.函数功能用于动态的导入模块,
阅读全文
摘要:python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,该四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员。 hasattr(obj,name_str):判断一个对象obj里是否有name_str字符串对应的的
阅读全文
摘要:1. __doc__ 表示类的描述信息 2. __module__ 和 __class__ __module__ 表示当前操作的对象在哪个模块 __class__ 表示当前操作的对象的类是什么 class C: def __init__(self): self.name = 'aa' from li
阅读全文
摘要:静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已
阅读全文
摘要:re模块用于对python的正则表达式的操作。 常用正则表达式符号 正则表达式代码实例 import re # . 匹配除换行符以外的任意字符,即[^\n] # + 重复一次或更多次 # .+匹配任意字符串 res = re.search('f.+n',"abcd1234efghijklmn567
阅读全文
摘要:hashlib模块用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import md5 hash = md5.new() hash.update('Hello') print hash.he
阅读全文
摘要:用于生成和修改常见配置文档,当前模块的名称在 python 2.x 版本中为 ConfigParser, python 3.x 版本中变更为 configparser。 来看一个好多软件的常见文档格式如下 如果想用python生成一个这样的文档怎么做呢? 写完了还可以再读出来 import conf
阅读全文
摘要:Python也可以很容易的处理ymal文档格式,只不过需要安装一个模块,参考文档:http://pyyaml.org/wiki/PyYAMLDocumentation
阅读全文
摘要:xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,以前在json还没诞生的时候,大家只能选择用xml,至今很多传统公司如金融行业的很多系统的接口还主要是xml。 xml的格式如下,就是通过<>节点来区别数据结构的: <?xml version="1.
阅读全文
摘要:shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式 import shelve import datetime name = ["alex", "rain", "test"] info = {'age':21,'job':'it'
阅读全文
摘要:用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps、dump、loads、load pickle模块提供了四个功能:dumps、dump、loads、l
阅读全文
摘要:高级的 文件、文件夹、压缩包 处理模块 代码实例: import shutil with open('yesterday.txt',encoding='UTF-8') as f1,\ open('yesterday2.txt','w',encoding='UTF-8') as f2: shutil.
阅读全文
摘要:用于提供对解释器相关的操作 sys实例之进度条 更多点击这里
阅读全文
摘要:用于提供系统级别的操作 更多点击这里 代码示例: import os print(os.getcwd()) # 获取当前工作目录,D:\python-study\s14\Day05 os.chdir('D:\python-study\s14') #改变当前工作目录 print(os.getcwd()
阅读全文
摘要:random模块常用方法: 实际应用 # 实际应用: # 随机整数 print(random.randint(0,99)) # 26 # 随机选取0-100间的偶数 print(random.randrange(0,101,2)) # 12 import random # 随机浮点数 print(r
阅读全文
摘要:time模块 时间相关的操作,时间有三种表示方式: 时间戳 1970年1月1日之后的秒,即:time.time() 格式化的字符串 2014-11-11 11:11, 即:time.strftime('%Y-%m-%d') 结构化时间 元组包含了:年、日、星期(取值0-6, Monday is 0)
阅读全文
摘要:1 定义 模块:用来从逻辑上组织Python代码(变量、函数、类、逻辑:实现一个功能),本质上就是.py结尾的Python文件(文件名:test.py对应的模块名:test)。 2 导入方法 import module_name import module1_name,module2_name fr
阅读全文
浙公网安备 33010602011771号