Python基础之常用模块(一)
模块本质就是一个.py文件,在安装目录下的lib文件夹下可以看到
模块分为三个部分:内置模块(存在于解释器中),第三方模块(lib文件夹下),自定义模块(自己定义的)
1.time模块
import time
#返回当前时间的时间戳
print(time.time())#1498027773.1063557 #以时间戳为参数,返回结构化的时间元组,参数默认为当前时间
print(time.localtime(1912412470))#time.struct_time(tm_year=2030, tm_mon=8, tm_mday=8, tm_hour=17, tm_min=41, tm_sec=10, tm_wday=3, tm_yday=220, tm_isdst=0) #以时间戳为参数,返回结构化的格林尼治时间,默认参数为当前时间
print(time.gmtime()) #time.struct_time(tm_year=2017, tm_mon=6, tm_mday=21, tm_hour=6, tm_min=49, tm_sec=2, tm_wday=2, tm_yday=172, tm_isdst=0) #结构化时间转化成字符串时间
print(time.strftime('%Y:%m:%d-%X',time.localtime())) #2017:06:21-14:48:50 #字符串时间转化为格式化时间
print(time.strptime('1993-10-15','%Y-%m-%d')) #time.struct_time(tm_year=1993, tm_mon=10, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=288, tm_isdst=-1) #结构化时间转换成时间戳
print(time.mktime(time.localtime()))#1498027859.0 print(time.asctime()) #Wed Jun 21 14:53:11 2017
print(time.ctime()) #Wed Jun 21 14:53:11 2017 #线程推迟指定时间运行,参数为指定的秒数
time.sleep(5)
几种时间形式的转换:

2.random模块
import random print(random.random())#随机返回一个(0,1)之间的浮点数 0.40165771797504246 print(random.randint(1,3)) #随机返回一个指定范围[1,3]的int类型 3 print(random.randrange(1,3)) #随机返回一个指定范围[1,3)的int类型 1 print(random.choice([12,21,23,34,'a','b']))#随机返回一个指定列表中的元素 12 print(random.sample([12,21,23,34,'a','b'],3))#随机返回指定个数的指定列表中的元素 ['a', 21, 'b'] print(random.uniform(1,3))#随机返回一个(1,3)之间的浮点数 2.2162483038520144 l=[1,2,3,4,5,6]
random.shuffle(l) #把指定列表的顺序打乱
print(l) #[1, 3, 6, 2, 4, 5]
练习
#练习,随机生成一个5位的验证码,包括数字,大小写字母 import random
res=''
for i in range(5):
num=random.randint(0,9)
alpA=chr(random.randint(65,90))
alpa=chr(random.randint(97,122))
s=random.choice([str(num),alpA,alpa])
res=res+s
print(res)
3.os模块
import os #获取当前工作目录
print(os.getcwd()) #C:\untitled\0621day12 #改变当前工作目录,相当于shell中的cd
os.chdir(file_path) #生成多层递归目录
os.makedirs('dirname1/dirname2') #递归删除空目录
os.removedirs(path) #生成单级目录
os.mkdir('dirname') #删除单级空目录,目录不为空则不能删除
os.rmdir(path) #列出指定目录下的所有文件和子目录,包括隐藏文件,以列表方式打印
print(os.listdir(r'C:\untitled\0612Python第五天')) #['0612作业.py', 'a.txt', '作业题目', '字符编码.py', '文件操作.py'] #删除一个文件
os.remove() #重命名文件/目录
os.rename('oldname','newname') #获取文件/目录信息
os.stat(path)
print(os.stat(r'C:\untitled\0612Python第五天')) #os.stat_result(st_mode=16895, st_ino=2814749767244350, st_dev=3504670893, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1497356489, st_mtime=1497356489, st_ctime=1497227714) #返回文件目录,其实就是os.path.split(path)的第一个元素
os.path.dirname(path) #返回文件的文件名,其实就是os.path.split(path)的第二个元素
os.path.basename(path)#如果path以/或\结尾,则会返回空值 #如果文件存在,则返回True,否则返回False
os.path.exists(path) #如果path是绝对路径,则返回True
os.path.isabs(path) #将多个路径组合后返回,第一个绝对路径之前的参数将会被忽略
os.path.join(path,paths) #返回path所指向的文件或目录的最后访问时间
os.path.getatimme(path) #返回path所指向的文件或目录的最后修改时间
os.path.getmtime(path) #返回path的大小
os.path.getsize(path)
4.hashlib
hashlib模块提供了常见的摘要算法,如MD5,SHA1等,在Python3中,hash直接代替了MD5和SHA
摘要算法是通过一个函数,把任意长度的数据转成一个长度固定的数据串。
1.摘要算法是不可逆的,不能由数据串反推得到元数据
2.两个数据,即使只有1bit的区别,得到的摘要也是没有任何关系的
3.无论元数据有多大,得到的摘要都是固定长度的
4.当元数据很大时,需要一行一行去读,然后一行一行的校验,最后一个.hexdigest()能把之前所有的校验结果得到一个摘要
MD5速度很快,也很常用,生成结果是固定的128bit的通常由一个32位的16进制字符串表示。
import hashlib md5=hashlib.md5()
md5.update('aasg'.encode('utf-8'))#434c591c9c5a04e44ec8dbafe81058e7
md5.update('adasdg'.encode('utf-8'))#d20a55b2194493fdeb66e2cd358dab15
md5.update('aasgadasdg'.encode('utf8'))#d20a55b2194493fdeb66e2cd358dab15
print(md5.hexdigest())
未完待续。。。。
Python基础之常用模块(一)的更多相关文章
- 十八. Python基础(18)常用模块
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- Python全栈开发之路 【第六篇】:Python基础之常用模块
本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...
- Python基础之--常用模块
Python 模块 为了实现对程序特定功能的调用和存储,人们将代码封装起来,可以供其他程序调用,可以称之为模块. 如:os 是系统相关的模块:file是文件操作相关的模块:sys是访问python解释 ...
- python基础之常用模块以及格式化输出
模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
- Day5 - Python基础5 常用模块学习
Python 之路 Day5 - 常用模块学习 本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...
- Python基础之常用模块
一.time模块 1.时间表达形式: 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: 1.1.时间戳(timestamp) :通常来说,时间 ...
- Python基础5 常用模块学习
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- python基础(11)-常用模块
re(正则)模块 常用方法 findall() 以列表返回所有满足条件的结果 import re print(re.findall('\d','a1b2c2abc123'))#['1', '2', ' ...
- Python基础之常用模块(三)
1.configparser模块 该模块是用来对文件进行读写操作,适用于格式与Windows ini 文件类似的文件,可以包含一个或多个节(section),每个节可以有多个参数(键值对) 配置文件的 ...
随机推荐
- 使用Mingw编译wxSqlite3-3.0.5
最近在学习wxWidgets,而且官方也出了3.0版本,貌似还不错的样子,准备做个小程序来练手.中间需要用到数据库看到很多人推荐wxSqlite3就去下来看看,以下是我使用TDM-GCC 4.8.1( ...
- 黑马程序员:轻松精通Java学习路线连载1-基础篇!
编程语言Java,已经21岁了.从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的.Java应用的广泛已 ...
- java基础(十二章)
一.变量的作用域(有效的使用范围) 1.变量有2种 1.1成员变量(属性) 声明在类的里面,方法的外面 1.2 局部变量 声明在方法里面或for循环结构中 2.调用时的注意事项(初始值不同.作用域不同 ...
- POI使用:用poi接口不区分xls/xlsx格式解析Excel文档(41种日期格式解析方法,5种公式结果类型解析方法,3种常用数值类型精度控制办法)
一.使用poi解析excel文档 注:全部采用poi接口进行解析,不需要区分xls.xlsx格式,不需要判断文档类型. poi中的日期格式判断仅支持欧美日期习惯,对国内的日期格式并不支持判断,怎么办? ...
- iOS开发之资讯类App常用分类控件的封装与实现(CollectionView+Swift3.0+)
今天博客中,我们就来实现一下一些常用资讯类App中常用的分类选择的控件的封装.本篇博客中没有使用到什么新的技术点,如果非得说用到了什么新的技术点的话,那么勉强的说,用到了一些iOS9以后UIColle ...
- 最近一个刚刚毕业的朋友说,他面试时候,遇到最频繁的css问题就是垂直居中,这里给出几种垂直居中方式!
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- webpack 插件拾趣 (1) —— webpack-dev-server
结束了一季的忙碌,我这封笔已久的博客也终究该从春困的咒印中复苏,想来写些实用易读的作为开篇,自然是最好不过. 新开个 webpack 插件/工具介绍的文章系列,约莫每周更新一篇篇幅适中的文章聊以共勉, ...
- JMS 之 Active MQ 消息存储
一.消息的存储方式 ActiveMQ支持JMS规范中的持久化消息与非持久化消息 持久化消息通常用于不管是否消费者在线,它们都会保证消息会被消费者消费.当消息被确认消费后,会从存储中删除 非持久化消息通 ...
- SQL Server各个版本的区别
SQLEXPR_x64_CHS.exe,标准SQL Server Express edition,只有数据库引擎,甚至连图形管理界面都没有.SQLEXPRWT_x64_CHS.exe,多了一个图形管理 ...
- jmeter 实现DB数据与接口数据的匹配校验
前言:接口出参数据与DB数据结合校验,使校验力度更准确~ jmeter自带插件JDBC Request Sampler 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数 ...