例子: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.maxunicode 最大的Unicode值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdout.write('please:') val = sys.stdi…
常用函数 import random random.random() 生成0到1之间的小数 random.randint(begin, end) 生成[begin, end]之间的整数 random.randrange(begin, end) 生成[begin, end)之间的整数 例如: #!/usr/bin/env python #_*_ coding:UTF-8 _*_ if __name__ == "__main__": module_name = "yield_te…
例如: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import time if __name__ == "__main__": print time.time() //获取当前时间戳 print time.mktime(time.localtime()) //将结构化时间对象转化为时间戳 print time.localtime() //将时间戳转化为机构化时间对象,默认传入当前时间戳 print time.gmtime() //将时间戳…
1. 体验多进程的运行速度 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from multiprocessing import Pool import time def foo(n): time.sleep(1) return n * n if __name__ == "__main__": pool = Pool(10) data_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 这里只需要等待1S就能得到…
1.常见的错误 TypeError 类型错误 NameError 没有该变量 ValueError 不期望的值 AttributeError 没有该属性 UnboundLocalError 没有该局部变量 ImportError 没有该模块 IOError 打不开文件 IndexError 列表没有该下标 KeyError 字典没有该键 IndentationError 代码没有对齐 SyntaxError 语法错误 KeyboardError Ctrl+C被按下 2.示例代码 #!/usr/b…
序列化是使用二进制的方式加密列表,字典或集合,反序列化是解密的过程:序列化开启了两个独立进程进行数据交互的通路 使用pickle进行序列化和反序列化 例如: pickle_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import pickle if __name__ == "__main__": name_list = ["liudaoqiang", 11, 22, "success"…
例如: 1.使用三元表达式给变量赋值 result = '空' if x == None else x 2.使用lambda定义函数 add = lambda x, y: x+y…
import os print(os.getcwd())#取当前工作目录,绝对路径 print(os.chdir("../"))#更改当前目录,.代表当前目录,..代表上一级目录 print(os,getcwd())#获取当前工作目录 print(os.curdir)#当前目录,相对路径 print(os.pardir)#父目录,相对路径 print(os.mkdir("test1"))#在当前目录下创建文件夹 print(os.mkdir("c://te…
第一天   文件IO处理 1.读文件实例 file_split.python f = file('myFile.txt', 'r') for line in f.readlines(): line = line.strip('\n').split(':') print line myFile.txt ## # User Database # # Note that this file is consulted directly only when the system is running #…
os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作目录 os.getcwd() 获取当前文件路径 os.mkdir() 新建目录 os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree()) os.makedirs() 创建多级目录 os.removedirs() 删除多级目录 os.stat(file) 获取文件属性 o…
python模块 用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块.模块分为内建模块.自定义的模块.安装的第三方的模块 导入模块 Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入.导入模块有一下几种方…
1. 线程的创建与运行 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from threading import Thread def foo(param1, param2): print "{0}{1}".format(param1, param2) if __name__ == "__main__": print "main thread running" thread = Thread(targe…
1.使用socket实现文件上传 server.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import os import SocketServer class MyServer(SocketServer.BaseRequestHandler): def handle(self): base_path = "/Users/liudaoqiang/" conn = self.request print "connected&…
1.类与对象(构造方法与实例化) #!/usr/bin/env python # _*_ coding:UTF-8 _*_ class Province: def __init__(self, name, capital, leader): self.name = name self.capital = capital self.leader = leader if __name__ == "__main__": hebei = Province("河北", &qu…
装饰器:在某个方法执行前后去执行其他新定义的行为 例如: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def before_say_hello(): print "before hello" def after_say_hello(): print "after hello" def say_hello_wrapper(func): def wrapper(): print "Before" befo…
示例代码如下: hashlib_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import hashlib def genPasswd(name): hash = hashlib.md5() hash.update(name.encode(encoding="UTF-8")) return hash.hexdigest() if __name__ == "__main__": print genPasswd…
1.基本内置函数 help() 帮助文档 dir() 列出当前文件的所有变量和方法 vars() 列出当前文件的所有变量及其值 type() 返回变量的类型 id() 返回变量的内存地址 len() 返回变量的长度 from package import module 导入模块 reload(package.module) 重新加载模块 2.基本运算内置函数 bool() 转化为bool值 abs() 获取绝对值 divmod() 返回商和余数的元组 max() 返回最大值 min() 返回最小…
1.如果在一个方法中有yield关键字则该方法返回的是一个生成器对象 2.对生成器对象进行操作必须进行迭代或循环处理 例如: yield_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def MyReadLines(): seek = 0 while True: with open('myFile.txt', 'rb') as f: f.seek(seek) line = f.readline() if line: seek = f.t…
1.可变参数,将传参自动汇总成列表 2.可变参数,将参数自动汇总成字典 实战如下: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def show(*args): for arg in args: print arg def show2(**kargs): for item in kargs.items(): print item if __name__ == "__main__": show('daoqiang', 'zhangsan',…
1.如何导入 from package import module module.function() 常用魔术方法 __init__.py 如果某个文件夹下面有该文件,则该文件夹是一个包,否则只是一个文件夹 __name__与__main__ 如果该问价是运行入口文件则__name__ 的值为__main__ ,否则__name__的值为package.module __file__ 返回该文件的绝对路径 __doc__ 返回该文件的描述信息…
1.在工程右键可选新建文件夹,包盒python文件 文件夹和包的区别在于,包包含一个空的__init__.py文件,而文件夹没有 2.pycharm的断点调试 点击Debug表示进入调试状态 点击Resume表示进入下一个断点,单步运行 点击Stop表示结束Debug 点击Run表示正常运行 注意:关于Debug报错为Interpreter option 未设置的问题:只需在setting中设置添加project interpreter即可,表示指定python的路径…
dict = {key1:value1, key2:value2} 定义字典 dict[key] = value 设置字典中指定健的值 dict.pop(key) 删除字典中指定健 dict.popitem() 随机删除字典中的健 dict.clear() 清空元组 dict.update(dict2) 使用另一个字典更新, dict.setdefault(key, value) 如果该键存在则不设置,如果该键不存在则设置 dict.get(key, default_value) 获取指定健的值…
列表的使用: list.append(value) 向列表增加元素 list.insert(index, value) 向列表指定元素插入元素 list.extend(newlist) 用新的列表扩展列表 list.remove(value) 删除列表的指定值 del list[index] 删除指定索引的值 list.pop() 删除列表最后一个值 list.reverse() 列表反转 list.sort() 列表元素按ASCII码排序 list.count(value) 统计元素的个数 l…
1. 使用python编写一个静态的web服务器,能够处理静态页面的http请求 原理: a. 使用socket进行服务端和浏览器之间的通信 b. 使用多线程处理多个客户端浏览器的请求 c. 解析用户请求并使用http协议发送响应数据 实现: # coding:UTF-8 import socket import re from multiprocessing import Process def handle_request(client_socket): # 定义html服务器根目录 HTM…
特点: (1)无序 (2)不重复 使用场景: (1)关系测试 (2)去重 x & y 求交集 x | y 求并集 x - y 求差集 x ^ y 求对称差集 x.intersection(y) 求交集 x.union(y) 求并集 x.difference(y) 求茶集 x.symmetric_difference(y) 求对称差集 x.issubset(y) 判断x是否是y的子集 x.issuperset(y) 判断x是否包含y set.add(value) set.pop() 实战: >…
实时处理增量日志最佳实践 主要使用f.seek()和f.tell()实现 字符串处理函数: s.find(substr, start, end) 查找子字符串,找不到则返回-1,找到则返回对应的索引 s.rfind(substr, start, end) 从右侧开始查找子字符串,找不到则返回-1; 找到则返回对应的索引:返回的结果和find一样, s.index(substr, start, end) 查找返回子字符串的索引,找不到则报错,报错内容时substring not found s.r…
dir( )函数有点像目录的意思,但是他是包含由模块定义的名称的字符串的排序列表.这个列表包含模块中定义的所有模块,变量和函数的名称. 列举其用法 import time content = dir(time) print (content) 输出结果 ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime'…
hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任意长度的数据转换为一个长度固定的数据串(通常以16进制符表示) 摘要算法的作用主要在于密码的密文存储,以及文件的一致性验证(比如在下载的时候,检查我们下载的文件和远程服务器上的文件是否一致;两台机器上的两个文件,检查上面的文件是否相等) 使用md5算法: import hashlib md5 = h…
一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件,包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果你想导入其他目录下的模块,那么这个目录必须是一个包才可以导入. 导入模块   1 2 3 4 5    import module #导入模块    fr…
什么shutil模块,就是对高级的文件,文件夹,压缩包进行处理的模块,下面简单讲述其用法. 文件和文件夹的操作 拷贝文件内容 import shutil shutil.copyfileobj(open('old.xml','r'),open('new.xml','w')) 拷贝文件 shutil.copyfile(src,dst) 拷贝文件和权限 shutil.copy 递归拷贝文件 shutil.copytree() 递归删除文件 shutile.rmtree('abc') 递归移动文件 sh…