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的大小

序列化模块

什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化

序列化的目的

1、以某种存储形式使自定义对象持久化
2、将对象从一个地方传递到另一个地方。
3、使程序更具维护性。

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之常用模块(续)的更多相关文章

  1. python的常用模块之collections模块

    python的常用模块之collections模块 python全栈开发,模块,collections 认识模块 什么是模块?    常见的场景:一个模块就是一个包含了python定义和声明的文件,文 ...

  2. python之常用模块

    python 常用模块 之 (subprocess模块.logging模块.re模块) python 常用模块 之 (序列化模块.XML模块.configparse模块.hashlib模块) pyth ...

  3. python之常用模块二(hashlib logging configparser)

    摘要:hashlib ***** logging ***** configparser * 一.hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法 ...

  4. Python学习——python的常用模块

    模块:用一堆代码实现了某个功能的代码集合,模块是不带 .py 扩展的另外一个 Python 文件的文件名. 一.time & datetime模块 import time import dat ...

  5. python 之常用模块

    一 认识模块 二 常用模块    (1)re模块    (2)collections模块 一  认识模块     (1)什么是模块      (2)模块的导入和使用 (1)模块是:一个模块就是一个包含 ...

  6. Python之常用模块--collections模块

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

  7. Python自动化开发之python的常用模块

    python常用模块 模块的种类:模块分为三种,分别是自定义模块:内置标准模块(即标准库):开源模块(第三方). 以下主要研究标准模块即标准库:标准库直接导入即可,不需要安装. 时间模块:time , ...

  8. python基础----常用模块

    一 time模块(时间模块)★★★★                                                      时间表现形式 在Python中,通常有这三种方式来表示时 ...

  9. python(五)常用模块学习

    版权声明:本文为原创文章,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明. https://blog.csdn.net/fgf00/article/details/52357 ...

  10. python学习——常用模块

    在学习常用模块时我们应该知道模块和包是什么,关于模块和包会单独写一篇随笔,下面先来了解有关在python中的几个常用模块. 一.什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文 ...

随机推荐

  1. 【Java每日一题】20170222

    20170221问题解析请点击今日问题下方的“[Java每日一题]20170222”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; import jav ...

  2. Java高并发--CPU多级缓存与Java内存模型

    Java高并发--CPU多级缓存与Java内存模型 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 CPU多级缓存 为什么需要CPU缓存:CPU的频率太快,以至于主存跟 ...

  3. 空间、域名与IP之间的关系?

    空间说白了就是服务器里面你可以使用的一个地方,在这里你可以放置数据和程序.最常用的就是放置您的网站程序和相关的所有文档和图片文件等等.这个放置你的网站文件的空间所在的服务器会有一个电信部门分配的固定编 ...

  4. Flask 系列之 LoginManager

    说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验目标 通过使用 flask-login 进行会话管理的相关操作 ...

  5. 汇编语言--微机CPU的指令系统(五)(移位操作指令)

    (5) 移位操作指令 移位操作指令是一组经常使用的指令,它包括算术移位.逻辑移位.双精度移位.循环移位和带进位的循环移位等五大类. 移位指令都有指定移动二进制位数的操作数,该操作数可以是立即数或CL的 ...

  6. 使用CSS实现无滚动条滚动

    我们都知道,撸页面的时候当我们的内容超出了我们的div,往往会出现滚动条,影响美观. 尤其是当我们在做一些导航菜单的时候.滚动条一出现就破坏了UI效果. 我们不希望出现滚动条,也不希望超出去的内容被放 ...

  7. react-conponent-todo

    <!DOCTYPE html> <html> <head> <script src="../../build/react.js">& ...

  8. 2018-11-27 中文代码示例之Programming in Scala笔记第七八章

    续前文: 中文代码示例之Programming in Scala学习笔记第二三章 中文代码示例之Programming in Scala笔记第四五六章. 同样仅节选有意思的例程部分作演示之用. 源文档 ...

  9. ThreadPoolExecutor 线程池的源码解析

    1.背景介绍 上一篇从整体上介绍了Executor接口,从上一篇我们知道了Executor框架的最顶层实现是ThreadPoolExecutor类,Executors工厂类中提供的newSchedul ...

  10. JVM虚拟机学习一:垃圾回收算法总结

    1.java虚拟机中涉及到的数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型. 基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某 ...