python模块

collections模块:python中扩展数据类型

from collections import namedtuple
p=namedtuple('名字',['x','y']):可命名元祖
pi=p(1,2)
print(pi.x)
print(pi.y)
print(pi)
可命名元祖
FIFO:队列
import queue
q=queue.Queue()
q.put(10)
q.put(5)
print(q):内存地址
print(q.get())

q.qsize():里面有几个值
队列
from collections import deque
d=deque([1,2])
d.append('内容'):从后面放数据
d.appendleft('内容'):从前面放数据
d.pop():从后面取数据
d.popleft():从前面取数据
d.insert('索引','要插入的内容'):指定插入
print(d)
双端队列
from collections import OrderedDict
od=OrderedDict([('a',1),('a',2)]):有序的字典
print(od)
取值还是一样的取
有序的字典
from collections import defaultdict
d=defaultdict(list)
d=defaultdict(lambda:你想要的值):你想要的值
print(d['k'])
豪自己看
from collections import Counter
c=Counter('abcab')
print(c)
元素出现的次数

time时间模块:跟时间有关系的模块

import time
time.sleep(停多少秒)
time.time:获取当前时间,是一个时间戳

格式化时间--字符串:给人看的
时间戳时间--float时间:计算机看的
结构化时间--元祖:计算用的
print(time.strftime('%Y-%m-%d %H:%M:%S')):输出就是当前的时间,年月日时分秒

s=time.localtime():结构化时间
s.time.tm_year

import time:时间戳转换成结构化时间
t=time.time()
print(time.localtime(t))
print(time.gmtime(t))

print(time.mktime(time.localtime):结构化时间转换成时间戳

time.strptime('2002-12.31','%Y-%m.%d'):格式化时间转换成结构化时间

time.strftime('%m/%d%Y %H:%M:%S'',time.localtime(3000)):结构化时间转换成格式化时间

time.asctime():返回当前的格式化时间
time.asctime(time.localtime(3000)):结构化时间转换成格式化时间
time.ctime():返回当前格式化时间
time.ctime(100000):时间戳转换成格式化时间
View Code
%y 两位数的年份表示(00-99%Y 四位数的年份表示(000-9999%m 月份(01-12%d 月内中的一天(0-31%H 24小时制小时数(0-23%I 12小时制小时数(01-12%M 分钟数(00=59%S 秒(00-59%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
时间格式化输出表

random模块:随机数模块

import random
随机小数
random.random():大于0且小于1之间的小数
random.uniform(1,3):大于1小于3的小数
随机整数
random.randint(1,5):大于1且小于等于5之间的整数
random.randrange(1,10,2):大于等于且小于10之间的奇数
随机选择一个返回
random.choice([1,'23',[4,5]]):1或者23或者[4,5]
随机选择多个返回,放回的个数为函数的第二个参数
random.sample([1,'23',[4,5]],2):列表元素任意2个组合
打乱列表顺序
item=[1,2,3,4,5,]
random.shuffle(item):打乱次序
View Code

os模块:和操作系统打交道的模块

import os
os.getcwd():获取当前目录
os.chdir(r'目录'):改变当前的目录
os.curdir:返回一个  . 当前目录
os.pardir:返回两个 .. 上一层目录
os.makedirs('文件名字/文件名字'):创建两个目录
os.removedirs('文件名字/文件名字')指定要删除的目录.为空就删除
os.listdir('目录'):找出所有文件和隐藏文件打印出来是列表
os.remove():删除一个文件
os.rename():重命名一个文件
os.stat(文件名):显示了文件的全部信息
os.sep():分隔符\\  linux  '/'
os.linesep():输出当前平台使用的行终止符\t\n     linux '\n'  
os.pathsep():输出用于分割文件路径的字符串  ;   linux  :
os.name():输出字符串当前使用的平台 'nt';  linux   'posix'

os.system('dir'):没有返回值,直接执行操作系统
os.popen('dir').read:有返回值
os.environ:你系统的环境变量

os.path()
os.path.abspath(path):返回的绝对路径
os.path.split(os.getcwd):分割
os.path.dirname():返回目录
os.path.basename():返回分割的第二个元素
os.path.exists():如果文件存在返回True.不在返回False
os.path.isads():如果是绝对路径,返回True
os.path.isfile():如果是一个存在的的文件,返回True否则False
os.path.isdir():如果是一个存在的目录,则返回True.否则返回False
os.path.join('c:','udsa','add'):自动进行拼接目录
os.path.getatime():返回所指向的文件或者目录的最后访问时间
os.path.getmtime():返回所值的文件或者目录的最后修改时间
os.path.getsize()返回文件的大小
View Code
st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。
stat 结构:

sys模块:和python解释器打交道的模块

import sys
print(sys.platform):返回操作系统平台名称
sys.version:返回你的版本信息
sys.exit():退出程序,正常退出sys.exit(0),错误退出sys.exit(1)
sys.path:返回模块的搜索路径
sys.argv:可以传参数,只能在中端使用
View Code

re模块:正则

import re
re.findall()=返回所有满足条件的结果,放在列表里
re.search().group(不要写)=从前往后,找到一个就返回,没有找到就返回None,调用group会报错返回的变量需要调用group才能拿到结果
re.match()=从头开始匹配,如果正则规则从头可以匹配上,就返回一个变量
re.split('正则','内容')=按照正则分割,返回一个列表
re.sub('\d','替换','内容',要替换几个)=将什么替换成什么,返回元祖
re.subn('\d','替换','内容')=将什么替换成什么,结果告诉你替换了几次,返回元祖 
re.compile('正则')=得到一个正则表达式
re.finditer('正则',内容)=返回一个迭代器,节省内存
re操作方法

序列化模块

import json
序列化:数字 字符串 列表 字典 元祖 元祖会变成列表
json.dumps( ):转化成双引号str
反序列化
json.loads( ):转回去

文件操作
json.dump(数据类型,文件句柄):序列化一次性写进文件
json.load(文件句柄):读出来是写进去的那个数据类型,一次性读出来
json.dump(数据类型,文件句柄,ensure_ascii=False):文件里能看到中文

什么都可以往里面写
import pickle
pickle.dumps( ):转化成双引号str,b丝类型
反序列化
pickle.loads( ):转回去

文件操作,加b
pickle.dump(数据类型,文件句柄):序列化一次性写进文件,,b丝类型你看不懂
pickle.load(文件句柄):读出来是写进去的那个数据类型,一次性读出来

import shelve
文件操作
f=shelve.open('文件名')
f['key']={'dada':12}:直接对句柄操作,写到文件,文件里你看不懂

f=shelve.open('文件名')
existing=f['key']:取也要用一样的取,key不存在会报错

f=shelve.open('文件名',writeback='True'):文件所有的修改都会打印出来
json pickle shelv

 

 

posted @ 2021-04-06 16:10  豪殇欣  阅读(22)  评论(0编辑  收藏  举报