首页 > 其他分享 >常用模块

常用模块

时间:2024-04-22 09:35:40浏览次数:41  
标签:常用 random 路径 文件夹 模块 time path os

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 对称加密 机密算法

标签:常用,random,路径,文件夹,模块,time,path,os
From: https://www.cnblogs.com/zenopan101861/p/18149992

相关文章

  • hashlib模块
    摘要算法:只能加密不能解密加密算法:用方法加密加密后的字符串可以解密【一】什么是摘要算法Python的hashlib提供了常见的摘要算法如MD5SHA1等等。摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表......
  • logging模块
    logging模块记录log记录日志的模块importloggingimportlogging.configimportosimportsystry:#想要给日志上色就安装这个模块#pipinstallcoloredlogs:::>>>给日志上个色importcoloredlogsexceptExceptionase:ifstr(e)=="Nomodulenamed'coloredlo......
  • json模块
    【一】什么是序列化将Python中的字典、列表、元组...转换成字符串类型如果使用str强制转换数据类型,造成的后果就是转换后的字符串无法转回Python对象【二】什么是反序列化将字符串类型的数据转换成Python对象(列表、字典、元组...)能将python对象转为字符串-->字符串......
  • C#的基于.net framework的Dll模块编程(一) - 编程手把手系列文章
    从此博文开始分几篇介绍C#的开发。这次讲讲C#的.netframework的Dll文件类库模块的编程方法。对于Windows来说,要运行应用程序要基于Dll类库和Exe执行文件。对于笔者来说,模块化的编程方式,就是将一些函数等封装到Dll类库文件中,将这些类库集中和分模块进行编写和管理。就是......
  • time模块,datetime模块,os模块,random模块,logging模块,hashlib模块
    Ⅰtime模块【1】表示时间的三种方式#【1】时间戳表示时间:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数#我们当时给函数计时两次时间戳相减得到了消耗的总时间#【2】元组(struct_time)(年,月,日,时,分,秒,......
  • Visual Studio 常用快捷键
    常用General按Press功能FunctionCtrl+Shift+P,F1显示命令面板ShowCommandPaletteCtrl+P快速打开QuickOpenCtrl+Shift+N新窗口/实例Newwindow/instanceCtrl+Shift+W关闭窗口/实例Closewindow/instanceCtrl+,用户设置UserSett......
  • 程序模块化设计结构化开发优势
    程序模块化设计结构化开发1.模块化开发,符合高内聚,低耦合的设计。在具体的程序修改的时候,程序代码不过于分散。有利于维护。同时也有利于对外提供接口能力。2.模块化更多的规模或能力,可以理解为微服务。独立部署独立运行。不影响整理的系统功能。3.举例:对外部入参做转换处理,可以将......
  • vue中ts引入组件,无法找到模块xxx的声明文件。xxx隐式拥有 "any" 类型。
    原因说明简单来说就是ts不认识.vue这个类型,需要定义声明。我刚学ts不是很懂为什么vite官方内写了那么多类型声明就是不写.vue。解决方法在项目根目录下找到env.d.ts文件,这个文件定义类型声明,简单地说就是让ts认识各种类型,尤其是文件。那么解决方法显而易见,我们自定义vue的......
  • Python库、包、模块
    一、什么是库、包、模块无论是库、包、模块,其核心都在于封装了一系列的功能。1、库library,这个概念并非Python里的概念,是从C语言过来的。库这个概念其实就是一堆代码一起完成一个或多个任务。非常类似函数,但是是以文件组织在一起。2、模块module,这个概念就是Python里的概念,一个......
  • 常用数据脱敏解决方案
    数据脱敏的应用场景主要有2类:接口返回数据日志打印数据针对上述场景的需求,数据脱敏的实现方法可以有如下3种:基于SQL进行脱敏,保证查询到的结果就是脱敏信息:SQL需要精心设计,依赖数据库函数,性能不高。应用层脱敏:将查询到数据根据一定的策略进行脱敏后再返回或打印日志,对应用......