python之常用模块(续)
time模块
random模块
sys模块
os模块
序列化模块
time模块
有三种方式表示
在Python中,通常有三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:
(1)时间戳 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
(2)格式化时间字符串:
(3)元组 struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

小结:时间戳是计算机用来计算的;格式化字符串是方便人们看的;元组是用来操作时间的。

# import time
# d=time.time()#时间戳
# print(d)
# print(time.localtime(d))#本地时间以元组的形式
# print(time.gmtime(d))#伦敦时间以元组的形式
# c=time.localtime(d)#以元组的形式来展示本地时间
# h=time.mktime(c)#将元组的形式变成时间戳的形式
# print(h)#打印出来
# h1=time.strftime('%Y-%m-%d %X',c)#将元组的形式变成格式化
# print(h1)
# h3=time.strptime(h1,'%Y-%m-%d %X')#将格式化变成元组
# print(h3)

import time
# ss=time.localtime()#元组
# d=time.asctime(ss)
# print(d)
# ss=time.time()#时间戳
# d=time.ctime(ss)
# print(d)
random模块
import random
#随机小数
# s=random.random()#生成0-1之间的随机数
# print(s)
# s1=random.uniform(1,3)#生成1-3之间的随机数
# print(s1)
# #随机整数
# s=random.randint(1,5)#包括首尾之间的随机整数
# print(s)
# s=random.randrange(1,10,2)#大于等于1且小于10之间的整数
# print(s) # s=random.choice(['1','hehe','dddd'])#随机选择一个返回
# print(s)
# s=random.sample(['dddd','hssihso','jjdjdjjd',['ddd','rrr']],2)#返回2个
# print(s)
# item=[1,3,4,5,6]
# random.shuffle(item)#d打乱顺序
# print(item)
生成随机验证码:(两种方法)
num_list=list(range(10))
new_num_l=list(map(str,num_list))
alph_l=[]
for i in range (65,91):
alph=chr(i)
alph_l.append(alph) new_num_l.extend(alph_l)
ret_l=[]
for i in range(4):
ret_l.append(random.choice(new_num_l))
print(''.join(ret_l)) import random
def v_code():
code = ''
for i in range(5):
num=random.randint(0,9)
alf=chr(random.randint(65,90))
add=random.choice([num,alf])
code="".join([code,str(add)])
return code print(v_code())
sys模块
sys模块是与python解释器交互的一个接口。
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
import sys
print(sys.argv)#返回所在的路径
print(sys.version)#返回python的版本
print(sys.maxsize)#返回最大的int值
print(sys.path)#返回模块的搜索路径,即环境变量
print(sys.platform)#返回操作系统的平台名字
os模块
os模块是与操作系统交互的一个接口
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
os.curdir 返回当前目录: ('.')
os.pardir 获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2') 可生成多层递归目录
os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() 删除一个文件
os.rename("oldname","newname") 重命名文件/目录
os.stat('path/filename') 获取文件/目录信息
os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") 运行shell命令,直接显示
os.popen("bash command) 运行shell命令,获取执行结果
os.environ 获取系统环境变量
os.pathos.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的大小
序列化模块
什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。
序列化的目的
Json模块提供了四个功能:dumps、dump、loads、load
# import json
# dic1={'k1':'v1','k2':'v2','k3':'v3'}
# print(type(dic1))#打印出字典的类型
# str_dic=json.dumps(dic1)#序列化:将一个字典转换成字符串
# print(str_dic,type(str_dic))
# dic_dic=json.loads(str_dic)#反序列化:将一个字符串转换成字典
# print(dic_dic,type(dic_dic))
# import json
# f=open('filename','w')
# dic1={'k1':'v1','k2':'v2','k3':'v3'}
# json.dump(dic1,f)#获得句柄,讲字典以字符串的形式写入
# f.close()
# f=open('filename')
# dic2=json.load(f)#直接将json的字符串形式变成数据结构返回
# f.close()
# print(type(dic2),dic2)
pickle模块
- json,用于字符串 和 python数据类型间进行转换
- pickle,用于python特有的类型 和 python的数据类型间进行转换
pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load (不仅可以序列化字典,列表...可以把python中任意的数据类型序列化)
# import pickle
# k={'k1':'v1','k2':'v2','k3':'v3'}
# d=pickle.dumps(k)#转成二进制的数据
# print(pickle.loads(d))#返回原来的数据结构
这里我们要说明一下,json是一种所有的语言都可以识别的数据结构。
如果我们将一个字典或者序列化成了一个json存在文件里,那么java代码或者js代码也可以拿来用。
但是如果我们用pickle进行序列化,其他语言就不能读懂这是什么了~如果是用python来读写就用pickle模块
shelve 模块
# import shelve
# f=shelve.open('shelve_file')
# f['key']={'k1':'v1','int':10}
# f.close()
# d=f['key']
# f.close()
# print(d)
# import shelve
# f=shelve.open('shelve_file',flag='r')
# print(f['key'])
# f.close()
# f['key']['new values']='this is not before '
# f.close()
但是这个读写是在缓存中的不是在文件的,需要更改默认值
# f2=shelve.open('shelve_file',writeback=True)
# print(f2['key'])
# f2['key']['new values']='this is not before'
# f2.close()
python之常用模块(续)的更多相关文章
- python的常用模块之collections模块
python的常用模块之collections模块 python全栈开发,模块,collections 认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文 ...
- python之常用模块
python 常用模块 之 (subprocess模块.logging模块.re模块) python 常用模块 之 (序列化模块.XML模块.configparse模块.hashlib模块) pyth ...
- python之常用模块二(hashlib logging configparser)
摘要:hashlib ***** logging ***** configparser * 一.hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法 ...
- Python学习——python的常用模块
模块:用一堆代码实现了某个功能的代码集合,模块是不带 .py 扩展的另外一个 Python 文件的文件名. 一.time & datetime模块 import time import dat ...
- python 之常用模块
一 认识模块 二 常用模块 (1)re模块 (2)collections模块 一 认识模块 (1)什么是模块 (2)模块的导入和使用 (1)模块是:一个模块就是一个包含 ...
- Python之常用模块--collections模块
认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...
- Python自动化开发之python的常用模块
python常用模块 模块的种类:模块分为三种,分别是自定义模块:内置标准模块(即标准库):开源模块(第三方). 以下主要研究标准模块即标准库:标准库直接导入即可,不需要安装. 时间模块:time , ...
- python基础----常用模块
一 time模块(时间模块)★★★★ 时间表现形式 在Python中,通常有这三种方式来表示时 ...
- python(五)常用模块学习
版权声明:本文为原创文章,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明. https://blog.csdn.net/fgf00/article/details/52357 ...
- python学习——常用模块
在学习常用模块时我们应该知道模块和包是什么,关于模块和包会单独写一篇随笔,下面先来了解有关在python中的几个常用模块. 一.什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文 ...
随机推荐
- T-SQL:qualify和window 使用(十七)
1.qualify 是一个潜在的额外筛选器 主要用于对开窗函数的数据筛选 SELECT orderid, orderdate, val, RANK() OVER(ORDER BY val DESC) ...
- springMVC_02hello案例
1.导入jar包 commons-logging-1.1.1.jar jackson-annotations-2.5.4.jar jackson-core-2.5.4.jar jackson-data ...
- Flask 系列之 FlaskForm
通过使用 FlaskForm ,可以方便快捷的实现表单处理. 说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验 ...
- virtualbox中设置u盘启动
1.在磁盘管理中查看u盘的磁盘号X 2.管理员运行cmd,进入virtualbox目录 3.运行命令: VBoxManage internalcommands createrawvmdk -filen ...
- eclipse安装阿里编码规约插件
点击帮助,Install New Software... 地址为https://p3c.alibaba.com/plugin/eclipse/update 然后选择安装, 一路next即可
- Laravel 系列入门教程(四)【最适合中国人的 Laravel 教程】
本篇文章中,我将跟大家一起实现 Article 的新增.编辑和删除功能,仔细解读每一段代码,相信本篇文章看完,你就能够 get Laravel 使用之道. RESTful 资源控制器 资源控制器是 L ...
- 真实世界的脉络].(英)戴维.多伊奇.pdf
[真实世界的脉络].(英)戴维.多伊奇.pdf 宇宙.时间.生命.等等,如果用量子物理学.计算机科学.进化论.认识论将这些最基本而又复杂的问题纠缠在一起时,那将会是一幅什么样的图景呢?也许,我们穷尽一 ...
- js 对象转数组
function objToArray(array) { var arr = [] for (var i in array) { arr.push(array[i]); } console.log(a ...
- 2018-12-14 JavaScript实现ZLOGO: 前进方向和速度
系列前文: JavaScript实现ZLOGO子集: 前进+转向 JavaScript实现ZLOGO子集: 单层循环功能 JavaScript实现ZLOGO子集: 测试用例 JavaScript实现Z ...
- java设计模式之模板模式以及钩子方法使用
1.使用背景 模板方法模式是通过把不变行为搬到超类,去除子类里面的重复代码提现它的优势,它提供了一个很好的代码复用平台.当不可变和可变的方法在子类中混合在一起的时候, 不变的方法就会在子类中多次出现, ...