常用模块time/datetime/sys/os/random/shutil

  • time模块
import time
#import time
# 与时间相关的一个模块

# 时间的三类
# 1.时间戳  从1970-1-1 0:0:0开始到现在的秒数
print(time.time())
t = time.time()
time.sleep(10)
t2 = time.time()
print(t2-t)

# 2.结构化时间
print(time.localtime()) # 返回的是一个对象 其中包含一个元组 里面是每个时间的值 (东八区)
print(time.localtime().tm_year) #单独获取某个时间属性
print(time.gmtime()) # 世界统一时间 比北京时间晚了八小时


# 3.格式化的字符串时间
print(time.strftime("%Y-%m-%d %H:%M:%S %p"))
print(time.strftime("%Y-%m-%d %X %p"))

# 三种格式之间的相互转换
#时间戳转为结构化
print(time.localtime(time.time()))

# 结构化转字符串
print(time.strftime("%Y-%m-%d",time.localtime(time.time())))

# 字符串转为结构化
print(time.strptime("2018-10-15","%Y-%m-%d"))

# 结构化转时间戳
print(time.mktime(time.strptime("2018-10-15","%Y-%m-%d")))

# 了解 格林威治时间
print(time.asctime(time.localtime(60*60*24)))
print(time.ctime(60*60*24))

  • datetime模块
import datetime

# 这个是一个包 里面包含 对时间的处理  对日期的处理
datetime.date # 日期相关
datetime.time # 时间相关

# 获取当前详细时间
print(datetime.datetime.now())

# 获取时间的某一部分
print(datetime.datetime.now().hour)

# 替换时间的某一部分
t1 = datetime.datetime.now()
t1 = t1.replace(year=2019)
print(t1)

t2 = datetime.datetime.now()
# print(t1 + t2)


# 了解
# 时间差对象
ta1 = datetime.timedelta(weeks=1)

t1 = datetime.datetime.now()
print(t1 + ta1)
  • sys模块:解释器相关的信息
import sys
# 环境变量
print(sys.path)
# 查看已经加载的模块
print(sys.modules)
# 获取终端调用时的参数
print(sys.argv)
# 获取解释器的版本信息
print(sys.version)
# 当前平台名称
print(sys.platform)
# 退出
sys.exit()
# 参数是整形
sys exit(0) #正常退出
sys.exit(1) #1,2,3错误码的意思,需要写文档来告诉


# 了解
# 接口版本
print(sys.api_version)

print(sys.maxsize)
print(sys.maxunicode)
  • os模块:主要用于与操作系统进行交互
import os
# 获取当前的工作目录
print(os.getcwd())
# 切换工作目录
os.chdir(参数:要切换到的路径)
print(os.getcwd())
# 当前目录 一个点
print(os.curdir)
# 上一级目录 两个点
print(os.pardir)

# 系统的环境变量
print(os.environ)
print(os.system('dir'))

# 需要掌握的
print(os.makedirs('a/b/c'))  # 创建目录 可用递归创建
print(os.mkdir('AA3')) #创建一个目录
os.removedirs('a/b/c') # 删除目录(文件夹)递归删除 如果没有文件就删除 有文件则保留
os.rmdir('AA3') #删除一个目录
os.remove(参数:文件路径)  # 删除文件 仅能删除文件 
print(os.listdir(参数:文件路径))  # 列出所有文件和文件夹名称
print(os.sep) # 获取当前平台的路径分隔符
print(os.linesep,end = '') #获取当前平台换行符
  • os.path
from os import path
print(path.abspath('tt/a.txt')) # 返回绝对路径
print(path.split('a/b/c.txt')) # 将路径拆分为 文件夹路径和文件名称
print(path.dirname(__file__) #获取路径中的上一级 __file__可以获取当前路径
print(path.basename(r'D:\python\learn\os模块.py')) #获取最后一级名称
print(path.exists(r'D:\python\learn\os模块.py'))  #判断路径是否存在
print(path.isabs(r'C://a/b/c')) #判断是否是绝对路径
print('xx'.join(['1','2','3','4'])) #字符拼接
print(path.join('c://','d://','a','b','c')) # 将多个名称拼接为路径,如果有多个起始符,取最后一个
print(path.getsize(r'D:\python\learn\os模块.py'))
print(path.normcase('AA/BB\\CC')) # 大写便小写 斜杠根据当前平台修改
print(path.normpath('AA/BB\\CC//DD/..//EE')) # 斜杠会修改为当前平台的分隔符 可用执行..来返回上一级

在这里插入图片描述

  • random : 随机数模块
import random
# 随机数模块

print(random.random())  #0-1 不包括1随机浮点数
print(random.randint(1,10)) # 1-10 包括1和10 的整数
print(random.randrange(1,10)) # 1-10包括1 不包括10的整数
print(random.sample(["aaa",["a","b"],3,4,5],2)) # 指定一个范围并指定需要的随机个数
ls = ["1","2","3","4"]
random.shuffle(ls) # 打乱顺序  洗牌 改的原有列表
print(ls)
print(random.choice([1,2,3])) # 随机选一个
print(random.choices([1,2,3,4,5,6,7],k=2)) # 随机选指定个数
print(random.uniform(1,3)) # 两边都包含的随机浮点数

了解这个可以做一个随机验证码

# 随机验证码 长度自定义 包括0-9 A-Z a-z
def get_auth_code(length):
    res = ""
    for i in range(length):
        a = random.randint(0,9)   # 数字0-9
        b = chr(random.randint(65,90))  #字母A-Z
        c = chr(random.randint(97,122))  #字母a-z
        s = random.choice([a,b,c])  # 随机选择
        res += str(s)
    return res


print(get_auth_code(4))

  • shutil模块: 用于简化文件操作的模块
import shutil
# 用于简化文件操作的模块
# 复制文件
f1 = open(r'D:\python\learn\os模块.py',"rb")
f2 = open(r'D:\python\learn\os模块2.py',"wb")
shutil.copyfileobj(f1,f2)

# 压缩文件
# zip压缩
shutil.make_archive("my压缩","zip",r'D:\python\learn')
# tar压缩
shutil.make_archive("my压缩","tar",r'D:\python\learn\模块')



# 用shutil直接解压
shutil.unpack_archive(r'D:\python\learn\you压缩.zip')


# 解压 可以使用对应的模块来完成
# zip解压
import zipfile
z = zipfile.ZipFile(r'D:\python\learn\you压缩.zip',"r") #打开文件
z.extractall(path=r'D:\python\learn\解压') #提取文件
z.close() # 关闭文件

# tar解压
import tarfile
t = tarfile.open(r'D:\python\learn\you压缩.tar',"r")
t.extractall(r"D:\python\learn\\解压")
t.close()

# 也可以用来压缩
import tarfile
t = tarfile.open((r'D:\python\learn\you压缩.tar',"w")
t.add("1.昨日回顾")
t.add("2.今日内容")
t.close()


import zipfile
z = zipfile.ZipFile(r(r'D:\python\learn\you压缩.zip',"w")
z.write("1.昨日回顾")
z.write("2.今日内容")
z.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值