常用模块

20240419模块

os模块

操作本地路径、操作文件夹
  • 创建、删除

  • 执行本地cmd命令

  • 拼接路径

  • 文件路径相关操作

    • --file-- 表示当前文件所在的文件夹路径

    • import os
      file_name = os.path.dirname(__file__)
      
      
    • 获取当前文件所在的文件路径

    • file_path =os.path.abspath(__file__)
      
    • 判断当前文件路径是否存在 文件、文件夹

    • 拼接文件路径

    • os.path.join(file,'data')
      
    • 切割文件路径

    • os.path.split() #切成两个元素的元组
      
    • 直接获取文件夹结尾路径

    • os.path.basename(路径)
      
    • 判断当前文件路径是否是文件夹/文件

    • os.path.isfile()  #是否是文件
      os.path.isdir()   #是否是文件夹
      
    • 判断是否绝对路径

    • os.path.isabs(路径)
      
    • 获取当前文件或目录的最后访问时间

    • os.path.getatime(路径) #最后访问时间
      os.path.getctime(路径) #创建时间
      os.path.getmtime(路径) #修改时间
      
    • 获取当前文件大小

      • os.path.getsize(路径)
        
  • 文件和文件夹操作

    • 创建文件夹

    • a = os.path.dirname(__file__) #根目录
      b = os.path.join(a,'img')
      if not os.path.exist(b):
      	os.mkdir(b)           创建路径
      	
      	
      c = os.path.join(a,"",'') 创建多级文件夹
      if not os.path.exist(b):
      	os.makedirs(b) 
      
      
    • 删除单级文件夹

    • os.rmdir(路径)  只能删除空文件夹
      
    • 删除多级文件夹

    • os.removedirs(路径) 只能删除空文件夹
      
    • 列出当前文件夹下的所有文件名

    • os.listdir(路径)
      
    • 删除指定文件

    • os.remove(路径)
      
    • 给指定文件、文件夹重命名

    • 给两个绝对路径
      os.rename(old,new)
      
    • 获取当前文件夹的详细信息(元信息)

    • os.stat(路径)
      
    • 获取当前工作目录

    • os.getcmd() 用在linux获取当前路径
      
    • 切换工作目录

    • os.chdir(目标路径)
      
    • 执行shell命令

    • os.system(命令)
      os.popen(命令)
      
    • 获取当前系统所对应的默认分隔符

    • os.sep    获取路径分隔符
      os.linesep
      os.pathsep
      os.name           
      
    • os.makedirs(path,exist_ok = True) 自动创建不存在的多级文件夹路径

time模块

操作时间
  • 表示时间的3种方式

    • 时间戳:1970年开始的秒数
    • 元组(struct_time)(年,月,日,时,分,秒。。。)
    • 格式化的时间字符串(time.strftime):xx年xx月xx日 时:分:秒
  • time

    • 导入 : import time
    • 生成时间戳:time.time()
    • 时间戳转换为元组格林威治时间:time.gmtime(time.time())
    • 时间戳转换为元组本地时间:time.localtime(time.time())
    • 时间字符串:time.strftime('%Y-%m-%d %X',time.localtime())
    • 从时间元组中获取指定字段
      • time.localtime().tm_year
      • time.localtime().tm_mon/mday/wday/yday...
    • 结构化时间(转回时间戳)
      • time.mktime(time.localtime(time.time))
    • 将字符串时间转为元组时间strptime()
    • time.sleep() 睡眠时间
  • datetime:import datetime

    • datetime.date(year,month,day)#给定时间,生成指定格式
    • datetime.date.today() 获取本地时间
    • datetime.date.todaytime() 获取本地具体时间
    • datetime.datetime.today().day
    • datetime.datetime.today().year/month/hour/weekday/week/minute/second....返回一个具体的年份或者其他
    • timedelta对象
      • 对时间推迟或提前
      • datetime.timedelta(day=,week=...)

random模块

随机生成整数,小数,或者指定列表中的元素
  • import random

  • random.random() 随机生成0-1之间的小数

  • random.uniform(a,b) 随机生成a-b之间的小数

  • random.randint(a,b) 随机生成a-b之间的整数

  • random.randrange(a,b,c) 随机生成a-b之间间隔为c的整数

  • random.choice(a) 随机返回一个可迭代对象a中的值

  • random.choices(a,k=?) 随机返回可迭代对象a中的?个值

  • random.sample(a,?)随机返回可迭代对象a中的?个值

  • random.shuffle(a)打乱a的顺序,没有返回值

  • 随机生成6位验证码

  • import random
    list_alphab =[chr(i) for i in range(65,90)]
    list_alphas =[chr(i) for i in range(97,122)]
    list_num = [str(i) for i in range(0,10)]
    l = list_num+list_alphas+list_alphab
    code = ''.join(random.sample(l,6))
    print(code)
    
    

logging模块

记录日志
  • import logging,os
    

分层架构

hashlib模块(摘要算法)

对数据进行加密
有MD5,SHA1等方法
  • 只能加密,不能解密

  • import hashlib
    data = ‘1’
    data=data.encode('utf8')
    md5 = hashlib.md5()
    md5.update(data)
    md5.hexdigest() 加密成16进制的32位字符串
    
    

加密算法:可以加密,也可以解密

RSA非对称加密 加密算法
AES 对称加密 机密算法
posted @ 2024-04-22 09:23  zenopan  阅读(4)  评论(0编辑  收藏  举报