一.random(取随机数)模块
1.随机小数
- random.random() # 取0-1之间的随机小数
- random.uniform(m,n) # 取m-n之间的随机小数
2.取随机整数
- random.randint(m,n) # 取m-n之间的随机整数 [m,n]
- random.randrange(m,n) #取m-n之间不包含n的随机整数 [m,n)
- random.randrange(m,n,i) # 在m-n之间,按i的步长取随机整数,例如random.randrange(1,10,2),取1-10之间的随机奇数.
3.取随机元素
- random.choice(序列) # 返回一个序列(列表,元组或字符串中的)随机项。
- random.sample(序列,n) #从指定的序列中,随机的截取n个元素或n长度的片断,返回一个新的序列。
4.打乱顺序
- random.shuffle(l) # 打乱序列的顺序.
二.time时间模块(重点)
time模块主要用于和时间相关的操作上
1.时间戳(timestamp)
时间戳是从1970-1-1 00:00:00到现在一共过了多少秒.
2.格式化时间(strftime)
根据我们的需求对时间进行任意的格式化.
日期格式化标准:
- %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 当前时区的名称
- %% %号本身
3.结构化时间(struct_time)
主要把时间进行分类划分.
4.时间的相互转换
4.1 时间戳-结构化时间-格式化时间
4.2 格式化时间-结构化时间-时间戳
4.3计算时间差
三.os模块
os模块是和操作系统交换的模块
- os.mkdir('dirname') #生成单级目录,相当于shell中mkdir dirname
- os.rmkdir('dirname') # 删除单级空目录,如果目录不为空则无法删除,会报错;相当于shell中rmdir dirname
- os.makedirs('dirname1/dirname2') # 生成多层递归目录
- os.removedirs('dirname1') # 若目录为空,则删除,并递归到上一级目录,若也为空,则删除,以此类推.(慎重使用)
- os.remove() # 删除一个文件.
- os.rename('oldname','newname') # 重命名
- os.stat('path/filename') # 获取文件/目录信息
- os,listdir('dirname') # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印.
- os.system('bash command') # 运行shell命令,直接显示
- os.popen('bash command').read() # 运行shell命令,获取执行结果,适合做查看类的操作
- os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径
#os.path
- os.path.abspath(path) 返回path规范化的绝对路径
- os.path.split(path) 将path分割成⽬录和⽂件名⼆元组返回
- os.path.dirname(path) 返回path的⽬录。其实就是os.path.split(path)的第⼀个元素
- os.path.basename(path) 返回path最后的⽂件名。如果path以/或\结尾,那么就会返回空值。 即os.path.split(path)的第⼆个元素
- os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
- os.path.isabs(path) 如果path是绝对路径,返回True
- os.path.isfile(path) 如果path是⼀个存在的⽂件,返回True。否则返回False
- os.path.isdir(path) 如果path是⼀个存在的⽬录,则返回True。否则返回False
- os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第⼀个绝对路径之前的参数
- 将被忽略
- os.path.getatime(path) 返回path所指向的⽂件或者⽬录的最后访问时间
- os.path.getmtime(path) 返回path所指向的⽂件或者⽬录的最后修改时间
- os.path.getsize(path) 返回path的⼤⼩
# 特殊属性:
- os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
- os.linesep 输出当前平台使⽤的⾏终⽌符,win下为"\r\n",Linux下为"\n"
- os.pathsep 输出⽤于分割⽂件路径的字符串 win下为;,Linux下为:
- os.name 输出字符串指示当前使⽤平台。win->'nt'; Linux->'posix'
四.sys模块
- sys.argv 命令⾏参数List,第⼀个元素是程序本身路径
- sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)
- sys.version 获取Python解释程序的版本信息
- sys.path 返回模块的搜索路径,初始化时使⽤PYTHONPATH环境变量的值
- sys.platform 返回操作系统平台名称
五.collections(收集)模块
collections模块主要封装了一些关于集合类的相关操作,比如lterable lterator等,除此之外,collections还提供了除基本数据类型以外的数据集合类型.
1.Counter
Counter是一个计数器,主要用来计数.
例如:计算字符串中每个字母出现的次数:
2.deque 队列(重点)
扩展知识:
- 栈: FILO,先进后出,
- 队列:FIFO,先进先出,例如:小朋友玩滑梯.
队列:python提供了queue模块.如果队列里没有元素了,就拿不出来了,此时程序会阻塞.
而deque是Python标准库 collections 中的一个类,左右两侧都可以操作的队列,与Python的基本数据类型列表类似。
3.namedtuplue 命名元组
命名元组就是给元组内的元素进行命名.例如:(x,y)这个元组,可以任务是一个坐标点,这时就可以使用namedtuple对元素进行命名.
4.Orderdict和defaultdict
- Orderdict有序字典:字典默认是无序的,而Orderdict是有序的.
- defaultdict可以给字典设置默认值,当key不存在时,直接获取默认值.