python之常见模块(time,datetime,random,os,sys,json,pickle)
time
为什么要有time模块,time模块有什么用?(自己总结)
1. 记录某一项操作的时间
2. 让某一块代码逻辑延迟执行
时间的形式
时间戳形式
# 时间戳
print(time.time()) # 距离1970年过去了多少秒
'''
1560148086.4304533
'''
格式化时间
import time
# 格式化时间
print(time.strftime("%Y-%m-%d %X"))
print(time.strftime("%Y-%m-%d %H:%M:%S"))
'''
2019-06-10 14:28:06
2019-06-10 14:28:06
'''
结构化时间
import time
# 结构化时间
print(time.localtime()) # 北京时间
print(time.gmtime()) # 0时区
'''
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=14, tm_min=28, tm_sec=6, tm_wday=0, tm_yday=161, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=6, tm_min=28, tm_sec=6, tm_wday=0, tm_yday=161, tm_isdst=0)
'''
时间转化
import time
# 时间戳 转化为 结构化时间
time.sleep(3)
sjc = time.time()
print(time.localtime(sjc))
# 结构化时间 转化为 时间戳
sgh_time = time.localtime()
print(time.mktime(sgh_time))
'''
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=14, tm_min=28, tm_sec=9, tm_wday=0, tm_yday=161, tm_isdst=0)
1560148089.0
'''
# 格式化时间 转化为 结构化时间
print(time.strptime("1111-03-12 09:01:02","%Y-%m-%d %X"))
# 结构化时间 转化为 时间戳
sgh_time = time.localtime()
print(time.mktime(sgh_time))
'''
time.struct_time(tm_year=1111, tm_mon=3, tm_mday=12, tm_hour=9, tm_min=1, tm_sec=2, tm_wday=6, tm_yday=71, tm_isdst=-1)
19-06-10 14:42:34
'''
总结:
- 重点掌握,time.time(),time.sleep()
datetime
1. datetime的作用:用于时间的加减
2. datetime常用的方法
import datetime
# 获取年-月-日 时:分:秒 的常见做法
now = datetime.datetime.now()
print(now,type(now))
now = str(now)
print(now.split(".")[0])
'''
2019-06-10 14:47:47.878884 <class 'datetime.datetime'>
2019-06-10 14:47:47
'''
# 只能加天,时,分,秒
plf = datetime.datetime.now()
print(plf + datetime.timedelta(5)) # 加5天
print(plf - datetime.timedelta(5)) # 减5天
print(plf - datetime.timedelta(-5)) # 加5天
print(plf + datetime.timedelta(hours=10)) # 加10小时
print(plf + datetime.timedelta(minutes=30)) # 加30分钟
print(plf + datetime.timedelta(seconds=40)) # 加40秒
'''
2019-06-15 14:49:45.671068
2019-06-05 14:49:45.671068
2019-06-15 14:49:45.671068
2019-06-11 00:49:45.671068
2019-06-10 15:19:45.671068
2019-06-10 14:50:25.671068
2012-12-23 05:13:14.671068
'''
random
1. random作用:产生随机数
2. random常见用法
import random
print(random.random()) # 随机0-1之间的小数
print(random.randint(0,1)) # [0,1] 0到1之间的整数
print(random.choice([0,1,2,3,"plf"])) # 从指定容器中,随机选择一个
print(random.sample(["lt","plf","xs","cd"],2)) # 从指定容器中,随机选择多个
'''
0.48057373012022886
1
3
['cd', 'lt']
'''
OS
1. os的作用:与系统进行交互
2. os的常见用法
命令 | 含义 |
---|---|
os.getcwd() | 获取当前工作目录,即当前python脚本工作的目录路径 |
os.chdir("dirname") | 改变当前脚本工作目录;相当于shell下cd |
os.curdir | 返回当前目录:('.') |
os.pardir | 获取当前目录的父目录字符串名:('..') |
os.makedirs("dirname1/dirname2") | 生成多级目录 |
os.removedirs("dirname1") | 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 |
os.mkdir("dirname") | 生成单级目录 |
os.rmdir("dirname") | 删除单级目录,相当于rmidr。目录不为空为报错 |
os.listdir("dirname") | 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 |
os.remove() | 删除一个文件 |
os.rename("oldname","newname") | 重命名文件/目录 |
os.stat("path/filename") | 获取文件/目录信息 |
os.sep | 输出操作系统特定的路径分隔符,win下为"",Linux下为"/" |
os.linesep | 输出当前平台使用的行终止符 |
os.pathsep | 输出用于分割文件路径的字符串,win下为;,Linux下为: |
os.name | 输出字符串指示当前使用平台,win->'nt' ; Linux->'posix' |
os.system("bash command") | 运行shell命令,直接显示 |
os.environ | 获取系统环境变量 |
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) | 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 |
os.path.getatime(path) | 返回path所指向的文件或者目录的最后存取时间 |
os.path.getmtime(path) | 返回path所指向的文件或者目录的最后修改时间 |
os.path.getsize(path) | 返回path的文件的大小(字节) |
sys
1. sys的作用:与python交互
2. sys常见的用法
主要是获取系统的参数配置。
用途较多:
- 获取系统的环境变量sys.path。
- 命令行参数List,第一个元素是程序本身路径
- 让程序退出sys.exit() 0为正常退出
- 获取当前执行脚本的平台:sys.platform
import sys
print(sys.path) # 获取环境变量
sys.path.append("临时的环境变量") # 添加临时python环境变量
print(sys.version) # 获取python的版本
print(sys.argv) # 在命令行中,获取参数;第一个是文件名本身
print(sys.platform) # 返回操作系统平台名称
print(sys.exit(n)) # 程序退出,并自定义退出码。
json
1. json的作用:
a. 序列化(持久化的一种),将内存中的数据,以json文件类型保存。
b. 反序列化,将json文件中数据读取出来
c. 只能存储list,dict,None,bool,str,int/float 类型数据
2. json的常见用法
import json
tup = ['plf','hello','world']
a = json.dumps(tup) # 将列表转化为json认识的字符串。
print(a)
b = json.loads(a) # 将json认识的字符串 转化为 列表
print(b)
with open("test.json","w",encoding="utf8") as fw:
json.dump(tup,fw) # 序列化,也称为持久化。 dump是序列化成文件
with open("test.json","r",encoding="utf8") as fr:
data = json.load(fr) # 反序列化,也称为取数据 load是反序列化
print(data)
'''
["plf", "hello", "world"] <class 'str'>
['plf', 'hello', 'world'] <class 'list'>
['plf', 'hello', 'world']
'''
pickle
1. pickle的作用:
a. 存储python中一切数据类型
b. 存储是以二进制进行存储的
c. 一般存储不重要的数据
2. pickle的常见用法
import pickle
def f1():
print("from f1")
a = pickle.dumps(f1)
print(a,type(a)) # 转化为了二进制
b = pickle.loads(a)
print(b,type(b))
b() # 调用f1函数
'''
b'\x80\x03c__main__\nf1\nq\x00.' <class 'bytes'>
<function f1 at 0x0000007475EA2E18> <class 'function'>
'''
with open("plf.pkl","wb") as fw:
pickle.dump(f1,fw)
with open("plf.pkl","rb") as fr:
data = pickle.load(fr)
print(data,type(data))
data() # 调用f1函数
'''
<function f1 at 0x000000C18D022E18> <class 'function'>
from f1
'''
python之常见模块(time,datetime,random,os,sys,json,pickle)的更多相关文章
- Day 17 time,datetime,random,os,sys,json,pickle
time模块 1.作用:打印时间,需要时间的地方,暂停程序的功能 时间戳形式 time.time() # 1560129555.4663873(python中从1970年开始计算过去了多少秒) 格式化 ...
- Python常用模块(time, datetime, random, os, sys, hashlib)
time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) : 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...
- python笔记-1(import导入、time/datetime/random/os/sys模块)
python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...
- 模块random+os+sys+json+subprocess
模块random+os+sys+json+subprocess 1. random 模块 (产生一个随机值) import random 1 # 随机小数 2 print(random.rando ...
- day19:常用模块(collections,time,random,os,sys)
1,正则复习,re.S,这个在用的最多,re.M多行模式,这个主要改变^和$的行为,每一行都是新串开头,每个回车都是结尾.re.L 在Windows和linux里面对一些特殊字符有不一样的识别,re. ...
- 常用模块之 time,datetime,random,os,sys
time与datetime模块 先认识几个python中关于时间的名词: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“ty ...
- time,datetime,random,os,sys,hashlib,logging,configparser,re模块
#-----time模块----- print(help(time)) #打印time帮助文档 print(time.time()) #打印时间戳 1569824501.6265268 time.sl ...
- CSIC_716_20191116【常用模块的用法 time ,datetime, random, os, sys, hashlib】
import time import datetime import os import sys import random import hashlib time模块 时间戳(Timestamp) ...
- 模块、包及常用模块(time/random/os/sys/shutil)
一.模块 模块的本质就是一个.py 文件. 导入和调用模块: import module from module import xx from module.xx.xx import xx as re ...
随机推荐
- 学习笔记(25)- NLP的几个概念
NLP的几个概念 从技术研究的角度,简单介绍自然语言处理的几个概念 1. 对抗学习 主要指对抗生成网络. 2个主要构成:判别器.生成器 判别模型尽可能提取特征正确率增加的模型,生成模型尽可能" ...
- RTT学习之软件包
网络工具集 (NetUtils) Ping 工具: 是一种网络诊断工具,用来测试数据包能否通过 IP 协议到达特定主机,依赖于LWIP,支持域名和IP访问: NTP 工具:NTP 是网络时间协议 (N ...
- 关于overflow:hidden的作用(溢出隐藏,清除浮动,解决外边塌陷等等)
1.overflow:hidden 溢出隐藏 给一个元素中设置overflow:hidden ,那么该元素的内容若超出了给定的宽度和高度属性,那么超出的部分将会被隐藏,不占位. 代码如下: 运行结果 ...
- 解决安装 fireworks、photoshop 时卡在输入账号、手机号处等问题
一定要断网! 一定要断网! 一定要断网! 重要的事情说三遍! 我安装的是破解版CS6系列: 安装步骤如下: 1.当进行安装到此步时,(前面的步骤为解压文件等便不解释),选择“试用”,此时应该是 断网 ...
- ParameterizedType 使用方法
ParameterizedType 它是jdk提供的参数化类型,包括了如下 请求参数,和响应参数都是 参数话类型.记住凡是含有<T>中的都是参数话类型. public static < ...
- vue 使用心得---工作中一些关键点
1.自定义组件 使用 v-for 循环,最好另外多加上 v-bind:key="items_name",这是特殊用的:key,而不是普通的 :属性 例:<Uiroom> ...
- FileUpload之FileItem类的常用方法
http://blog.csdn.net/chinaliuyan/article/details/7002014
- jdk动态代理和cglib动态代理底层实现原理详细解析(cglib动态代理篇)
代理模式是一种很常见的模式,本文主要分析cglib动态代理的过程 1. 举例 使用cglib代理需要引入两个包,maven的话包引入如下 <!-- https://mvnrepository.c ...
- C++11常用特性介绍——列表初始化
一.列表初始化 1)C++11以前,定义初始化的几种不同形式,如下: int data = 0; //赋值初始化 int data = {0}; //花括号初始化 int data(0); / ...
- OBS输出设置
参数建议来自虎牙 https://help.huya.com/284 3.输出: 1)编码器中x264相当于虎牙直播中的CPU H.264编码,NVENC H.264相当于虎牙直播中的NVIDIA H ...