首页 > 代码库 > day5 常用模块学习

day5 常用模块学习

大纲

  1. time &datetime模块
  2. random
  3. os
  4. sys
  5. shutil
  6. json & picle
  7. shelve
  8. xml处理
  9. yaml处理
  10. configparser
  11. hashlib
  12. subprocess
  13. logging模块
  14. re正则表达式
 1 #_*_coding:utf-8_*_ 2 __author__ = Alex Li 3  4 import time 5  6  7 # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来 8 # print(time.altzone)  #返回与utc时间的时间差,以秒计算\ 9 # print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016",10 # print(time.localtime()) #返回本地时间 的struct time对象格式11 # print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式12 13 # print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016",14 #print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上15 16 17 18 # 日期字符串 转成  时间戳19 # string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式20 # print(string_2_struct)21 # #22 # struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳23 # print(struct_2_stamp)24 25 26 27 #将时间戳转为字符串格式28 # print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式29 # print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式30 31 32 33 34 35 #时间加减36 import datetime37 38 # print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.94192539 #print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2016-08-1940 # print(datetime.datetime.now() )41 # print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天42 # print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天43 # print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时44 # print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分45 46 47 #48 # c_time  = datetime.datetime.now()49 # print(c_time.replace(minute=3,hour=2)) #时间替换

random模块

mport randomprint random.random()print random.randint(1,2)print random.randrange(1,10)
import randomcheckcode = ‘‘for i in range(4):    current = random.randrange(0,4)    if current != i:        temp = chr(random.randint(65,90))    else:        temp = random.randint(0,9)    checkcode += str(temp)print checkcode

OS模块  

 1 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 2 os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd 3 os.curdir  返回当前目录: (.) 4 os.pardir  获取当前目录的父目录字符串名:(..) 5 os.makedirs(dirname1/dirname2)    可生成多层递归目录 6 os.removedirs(dirname1)    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 7 os.mkdir(dirname)    生成单级目录;相当于shell中mkdir dirname 8 os.rmdir(dirname)    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname 9 os.listdir(dirname)    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印10 os.remove()  删除一个文件11 os.rename("oldname","newname")  重命名文件/目录12 os.stat(path/filename)  获取文件/目录信息13 os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"14 os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"15 os.pathsep    输出用于分割文件路径的字符串16 os.name    输出字符串指示当前使用平台。win->nt; Linux->posix17 os.system("bash command")  运行shell命令,直接显示18 os.environ  获取系统环境变量19 os.path.abspath(path)  返回path规范化的绝对路径20 os.path.split(path)  将path分割成目录和文件名二元组返回21 os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素22 os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素23 os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False24 os.path.isabs(path)  如果path是绝对路径,返回True25 os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False26 os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False27 os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略28 os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间29 os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间

sys模块

技术分享
1 sys.argv           命令行参数List,第一个元素是程序本身路径2 sys.exit(n)        退出程序,正常退出时exit(0)3 sys.version        获取Python解释程序的版本信息4 sys.maxint         最大的Int值5 sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值6 sys.platform       返回操作系统平台名称7 sys.stdout.write(please:)8 val = sys.stdin.readline()[:-1]
View Code

json & pickle 模块

技术分享
1 用于序列化的两个模块2 3     json,用于字符串 和 python数据类型间进行转换4     pickle,用于python特有的类型 和 python的数据类型间进行转换5 6 Json模块提供了四个功能:dumps、dump、loads、load7 8 pickle模块提供了四个功能:dumps、dump、loads、load
View Code

技术分享

 shelve 模块

day5 常用模块学习