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的更多相关文章

  1. python之常见模块(time,datetime,random,os,sys,json,pickle)

    目录 time 为什么要有time模块,time模块有什么用?(自己总结) 1. 记录某一项操作的时间 2. 让某一块代码逻辑延迟执行 时间的形式 时间戳形式 格式化时间 结构化时间 时间转化 总结: ...

  2. python笔记-1(import导入、time/datetime/random/os/sys模块)

    python笔记-6(import导入.time/datetime/random/os/sys模块)   一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...

  3. 模块random+os+sys+json+subprocess

    模块random+os+sys+json+subprocess 1. random 模块   (产生一个随机值) import random 1 # 随机小数 2 print(random.rando ...

  4. 常用模块之 time,datetime,random,os,sys

    time与datetime模块 先认识几个python中关于时间的名词: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“ty ...

  5. CSIC_716_20191116【常用模块的用法 time ,datetime, random, os, sys, hashlib】

    import time import datetime import os import sys import random import hashlib time模块 时间戳(Timestamp) ...

  6. 学到了林海峰,武沛齐讲的Day22-完 os sys json pickle shelve XML re

    __ file__    =====   文件路径 os.path.dirname( 路径 )=======到上一层目录 os sys

  7. python笔记-6(import导入、time/datetime/random/os/sys模块)

    一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内容待日后有深入理解了再来细说 1.import可以导入的两种不同的内容 1.1 *.py文件结尾的文件 ...

  8. Python常用模块(time, datetime, random, os, sys, hashlib)

    time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) :         通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...

  9. Python——常用模块(time/datetime, random, os, shutil, json/pickcle, collections, hashlib/hmac, contextlib)

    1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. ...

随机推荐

  1. python中 __new__和__init__

    python这两个函数和类的实例化有关. __init__是实例化完成之后调用的,会对生成的对象实例做一些修饰 __new__是python新类型才有的,它更像是c/c++里面的构造函数,因为这个函数 ...

  2. IntelliJ IDEA中出现could not auto wired错误提示处理方式

    IntelliJ IDEA中出现could not auto wired错误提示处理方式 程序可以正常运行,就是出现错误提示: 学习了:http://blog.csdn.net/xlxxybz1314 ...

  3. hdu5242 上海邀请赛 优先队列+贪心

    题意是给你一棵树    n个点 n-1条边   起点是1   每一个点都有权值 每次能从根节点走到叶子节点   经行k次游戏 每次都是从1開始    拿过的点的权值不能拿第二次   问最大权值和. 開 ...

  4. VC问题 IntelliSense:“没有可用的附加信息”,[请參见“C++项目 IntelliSense 疑难解答”,获得进一步的帮助]

    在XP上安装VS2010 后发现 IntelliSense不能使用,但在Windows7上是能够正常使用这功能的.关于IntelliSense不能使用的问题已有网友提出了是由于KB2876217这个补 ...

  5. 一条SQL面试题

    求其中同一个主叫号码的两次通话之间间隔大于10秒的通话记录ID 例如:6,7,8,9,10条记录均符合 ID 主叫号码 被叫号码      通话起始时间            通话结束时间       ...

  6. 用 JSQMessagesViewController 创建一个 iOS 聊天 App - 第 2 部分

    原文链接 : Create an iOS Chat App using JSQMessagesViewController – Part 2 原文作者 : Mariusz Wisniewski 译者 ...

  7. bzoj1116 [POI2008]CLO——并查集找环

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1116 分析性质,只要有环,那么给环定一下向就满足了条件: 环上点的其他边可以指向外面,所以两 ...

  8. Cuckoo for Hashing

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2719 #include <stdio.h ...

  9. thinkphp方便分页的page方法

    page方法也是模型的连贯操作方法之一,是完全为分页查询而诞生的一个人性化操作方法. 用法 我们在前面已经了解了关于limit方法用于分页查询的情况,而page方法则是更人性化的进行分页查询的方法,例 ...

  10. Docker 探索安装WordPress+Mysql8.0

    拉取MYSQL,注意默认是8.0版本,连接加密方式有变化 docker pull mysql 运行MYSQL docker run --name wordpress-mysql -p 3306:330 ...