Day 17 time,datetime,random,os,sys,json,pickle
time模块
1.作用:打印时间,需要时间的地方,暂停程序的功能
- 时间戳形式
time.time()
# 1560129555.4663873(python中从1970年开始计算过去了多少秒)
- 格式化时间(需要自己给定格式)
time.strftime('%Y-%m-%d %H:&M:&S')
#2019|06|10 15:22:01
- 结构化时间
time.localtime() #以北京时间为准
time.gmtime(0) #打印1970年的时间
time.gmtime() #以格林威治时间为准,时间差8h
#time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=15, tm_min=23, tm_sec=4, tm_wday=0, tm_yday=161, tm_isdst=0)
#time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
#time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=7, tm_min=23, tm_sec=4, tm_wday=0, tm_yday=161, tm_isdst=0)
- 结构化时间转格式化时间
struct_time=time.localtime()
time.strftime('%Y-%m-%d',struct_time)
#2019-06-10
- 结构化时间转换为时间戳
struct_time=time.localtime()
time.mktime(struct_time)
#1560151699.0
- 格式化时间转为结构化时间
format_time=time.strftime('%Y-%m-%d %X')
#2019-06-10 15:38:58
time.strtime('2019-06-01 12:00:00','%Y-%m-%d %X')
#time.struct_time(tm_year=2019, tm_mon=6, tm_mday=1, tm_hour=12, tm_min=12, tm_sec=23, tm_wday=5, tm_yday=152, tm_isdst=-1)
- 时间戳转换为结构化时间
stamp_time=time.time()
time.localtime(stamp_time)
#time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=15, tm_min=42, tm_sec=24, tm_wday=0, tm_yday=161, tm_isdst=0)
- 睡眠
time.sleep(3)
datetime模块
作用:时间加减
- 获取当前时间
now=datetime.datetime.now()
#2019-06-10 15:44:53.049700
- 时间加减 timedelta
now=datetime.datetime.now()
now+datetime.timedelta(days=5) #默认为天
now-datetime.timedelta(5) #默认为天
now+datetime.timedelta(-5) #默认为天
# print(now + datetime.timedelta(years=5)) # 无法加年和月
print(now + datetime.timedelta(hours=5))
print(now + datetime.timedelta(minutes=65))
print(now + datetime.timedelta(seconds=65))
- 时间替换 now.replace
now.replace(year=2012,month=12,day=22,hour=5,minute=13,second=14)
#2012-12-22 05:13:14.758463
random 模块
作用:随机数
- 打印(0,1)随机小数,不会取0和1
random.random()
- 打印[n,m]的整数,会取n和m
random.randint(1,3)
- 打印(n,m)的小数
randome.uniform(1,3)
- 打印[n,m)的整数 包括N 不包括M
random.randrange(1,3)
- 从容器中随机选一个
random.choice([10000, 2, 1, 3, 4])
- 从容器中选择多个
random.sample([1,2,3,4,5,6],2)
- 打乱容器顺序
lis=[1,2,3,4,5]
random.shuffle(lis)
os模块
作用:os和操作系统交互,文件操作
import os
os.mkdir('bbb') #创建文件夹
os.removedirs(r'd:\aa\') #删除一个空文件夹,递归往上删除空文件夹
os.rmdir(r'd:\aa') #删除一个空文件夹夹
os.listdir(r'd:\aaa') #列出文件夹内所有文件名和隐藏文件名
os.remove(r'd:\aaa\1.txt') #删除文件
os.rename('老文件名','新文件名')
os.environ #打印环境变量
os.path.dirname(__file__) #牢记(dirname),用在执行文件添加环境变量
os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
os.path.exists('路径') #判断文件是否存在
so.path.join(r'路径','aa.txt') #拼接路径,因为不同操作系统的路径拼接符不一样
os.path.getsize('路径') #计算文件大小
os.walk() #打印文件夹下所有文件夹和文件
sys模块
作用:与python交互
import sys
sys.argv # 牢记(当使用Python file.py 参数 ,接收参数
sys.hexversion #获取解释器版本
sys.path # 牢记(获取当前文件导入模块的路径)
sys.stdout.write('123') #c写 print
sys.stdin.read(10) #c写 input
json 模块
作用:序列化 保存数据(从内存到硬盘这个过程叫做序列化,这个序列化必须得规定格式)
作用:反序列化 把json文件从硬盘中读取出来
特点:json文件并不是python所独有的,所有的语言都有json,跨平台/语言传输数据 json文件中只能写入python中的dict/list/str/int/float/bool/None
import json
json.dump(,) #第一个参数为内容,第二参数为打开文件的变量
json.load() #第一个参数为 打卡文件的变量
pickle模块
作用:pickle也是序列化和反序列化,json可以跨平台,只支持dict/list/str/int/float/bool/None
pickle支持python中任意数据类型,所以不能跨平台(不同平台的函数一定是不同的),pickle模块序列化过程是以二进制形式转换
import pickle
pickle.dump(func,fw)
data = pickle.load(fr)
data()
Day 17 time,datetime,random,os,sys,json,pickle的更多相关文章
- python之常见模块(time,datetime,random,os,sys,json,pickle)
目录 time 为什么要有time模块,time模块有什么用?(自己总结) 1. 记录某一项操作的时间 2. 让某一块代码逻辑延迟执行 时间的形式 时间戳形式 格式化时间 结构化时间 时间转化 总结: ...
- 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 ...
- 常用模块之 time,datetime,random,os,sys
time与datetime模块 先认识几个python中关于时间的名词: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“ty ...
- CSIC_716_20191116【常用模块的用法 time ,datetime, random, os, sys, hashlib】
import time import datetime import os import sys import random import hashlib time模块 时间戳(Timestamp) ...
- 学到了林海峰,武沛齐讲的Day22-完 os sys json pickle shelve XML re
__ file__ ===== 文件路径 os.path.dirname( 路径 )=======到上一层目录 os sys
- python笔记-6(import导入、time/datetime/random/os/sys模块)
一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内容待日后有深入理解了再来细说 1.import可以导入的两种不同的内容 1.1 *.py文件结尾的文件 ...
- Python常用模块(time, datetime, random, os, sys, hashlib)
time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) : 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...
- Python——常用模块(time/datetime, random, os, shutil, json/pickcle, collections, hashlib/hmac, contextlib)
1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. ...
随机推荐
- [bzoj2213][Poi2011]Difference_动态规划
Difference bzoj-2213 Poi-2011 题目大意:已知一个长度为n的由小写字母组成的字符串,求其中连续的一段,满足该段中出现最多的字母出现的个数减去该段中出现最少的字母出现的个数最 ...
- post and get
POST和GET是Web编程中的两个术语,他们是通过URI访问resource的两种方式.简单的说, GET 是把要访问的资源嵌入在URI中. 假设你在一个页面 http://www.myphone. ...
- LA 4850 贪心
感谢SF巨和WH巨的指导.. 首先,YY得到一个结论,罚值最大的最小值必定是按照截止时间排序得到的.然后,选一个任务插到其他位置,必定产生罚值最大值更大的情况,但有可能产生两个罚值最大情况和更小的情况 ...
- getAttribute for IE7
getAttribute 大部分介绍都说仅仅有一个.包含w3cschool. 事实上这种方法在iE7下有两个參数. msdn 上查到的. 简单翻一下 0 是默认情况,不区分大写和小写! 1 区分大写和 ...
- UNP(一):网络编程角度下的TCP、UDP协议
此博文是学习UNP(UNIX Network Programming)后的读书笔记,供以后自己翻阅回想知识. TCP.UDP概述 在前面<计算机网络与TCP/IP>栏目下已经介绍过一些关于 ...
- Buy or Build (poj 2784 最小生成树)
Buy or Build Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 1348 Accepted: 533 Descr ...
- Java中接口和抽象类的比較
Java中接口和抽象类的比較-2013年5月写的读书笔记摘要 1. 概述 接口(Interface)和抽象类(abstract class)是 Java 语言中支持抽象类的两种机制,是Java程序设计 ...
- DBCP数据源使用
DBCP:DataBase Connection Pool 1.须要的jar:commons-dbcp.jar commons-pool.jar 2.把DBCP的配置文件(dbcpconfig.pr ...
- CSS3:box-sizing:不再为盒子模型而烦恼
题外话: W3C奉行的标准,就是content-box,就是须要计算边框,填充还有内容的;可是就我个人而言, 比較喜欢的是传统IE6时候的怪异模式,不用考虑容器是否会被撑开(打乱布局); 盒子模型差异 ...
- ElasticSearch源码解析(五):排序(评分公式)
ElasticSearch源码解析(五):排序(评分公式) 转载自:http://blog.csdn.net/molong1208/article/details/50623948 一.目的 一个 ...