zoukankan      html  css  js  c++  java
  • time模块 datetime 模块 random 模块 OS 模块 sys 模块 hashlib 模块

            time模块

             在python中的时间表现形式:

    • 时间戳 (自1970-01-01-00-00 到当前时间,按秒计算,一共过了多少秒

    • 格式化时间

      返回的是时间的字符串

    • 格式化时间对象

      返回的是一个元组   元组中有9 个值:

      分别代表:年、月、日、时、分、秒、一周中的第几天、一年中的第几天、夏令时

      用法:

      """
      import time 
      1、获取时间戳
      time.time
      
      
      2、获取格式化时间
      获取年月日
      time.strftime('%Y-%m-%d')
      
      获取年月日时分秒
      time.strftime('%Y-%m-%d %H:%M:%S')
      %X = %H:%M:%S
      time.strftime('%Y-%m-%d %X')
      
      3、获取时间对象
      time.localtime()
      
      获取当前时间的格式化时间
      time.strftime('%Y-%m-%d %H:%M:%S', )
      #将字符串格式的时间转换成时间对象
      res = time.strptime('2019-01-01', '%Y-%m-%d')
      print(res)
      """
      View Code

      datetime 模块

      用法:

      """
      获取当前年月日
      print(datetime.date.today())
      
      获取当前年月日 时分秒 
      print(datetime.datetime.today())
      
      time_obj = datetime.datetime.today()
      查看类型
      print(type(time_obj))
      获取当前的年份
      print(time_obj.year)
      获取当前的月份
      print(time_obj.month)
      获取当前的日份
      print(time_obj.day)
      
      UTC时区
      #北京时间
      print(datetime.datetime.now())
      #伦敦时间
      print(datetime.datetime.utcnow())
      """
      View Code
      """
      日期/时间的计算
          日期时间 = 日期时间 '+' or '-' 时间对象
          时间对象 = 日期时间 '+' or '-' 日期时间
      日期时间:
      current_time = datetime.datetime.now()
      print(current_time)
      
      时间对象: #获取7天时间 
      time_obj = datetime.timedelta(days = 7)
      print(time_obj)
      
      
      #获取当前时间7天后的时间
      时间日期 = 日期时间 '=' or '-' 时间对象
      later_time = current_time + time_obj
      peint(later_time)
      
      时间对象 = 日期时间 '+' or '-' 日期时间
      time_new_obj = later_time - current_time
      print(time_new_obj)
      
      
      """
      View Code

      random 模块

      使用方法:

      import random
      """
      随机模块
      随机获取1-9中任意的整数
      res = random.randint(1,9)
      print(res)
      
      洗牌 可将可迭代中的值进行乱序
      list = ['红桃A', '梅花A', '红桃Q', '方块K']
      random.shuffle(list)
      print(list)
      
      # 随机获取可迭代对象中的某一个值
      
      list1 = ['红桃A', '梅花A', '红桃Q', '方块K']
      res = random.choice(list1)
      print(res)
      
      """
      View Code

      案例:

      """
      chr(7) 可以将ASCII表中值转换成对应的字符
      random.randint  随机获取一个整数 
      random.choice  随机获取一个值
      """
      
      
      #获取任意长度的随机验证码
      # def get_code(n):
      #     code = ''
      #     for line in range(n):
      #         #随机获取一个小写字母
      #         res1 = random.randint(97, 122)
      #         lower_str = chr(res1)
      #
      #         #随机获取一个大写字母
      #         res2 = random.randint(65, 90)
      #         upper_str = chr(res2)
      #
      #         #随机获取一个数字
      #         number = str(random.randint(0, 9))
      #         code_list = [lower_str, upper_str, number]
      #         random_code = random.choice(code_list)
      #         code += random_code
      #     return code
      # code = get_code(5)
      # print(code)
      # print(len(code))
      View Code

      OS 模块

      与操作系统交互的模块

      

     获取当前文件中的上一级目录
    # DAY15_PATH = os.path.dirname(__file__)
    # print(DAY15_PATH)
    #
    # # 项目的根目录,路径相关的值都用 “常量” 
    # BASE_PATH = os.path.dirname(DAY15_PATH)
    # print(BASE_PATH)
    #
    # # 路径的拼接: 拼接文件 “绝对路径”
    # TEST_PATH = os.path.join(DAY15_PATH, '老男孩老师们的写真集.txt')
    # print(TEST_PATH)
    #
    # # 判断“文件/文件夹”是否存在:若文件存在返回True,若不存在返回False
    # print(os.path.exists(TEST_PATH))  # True
    # print(os.path.exists(DAY15_PATH))  # True
    #
    # # 判断“文件夹”是否存在
    # print(os.path.isdir(TEST_PATH))  # False
    # print(os.path.isdir(DAY15_PATH))  # True
    #
    # # 创建文件夹
    # DIR_PATH = os.path.join(DAY15_PATH, '老男孩老师们的写真集')
    # # os.mkdir(DIR_PATH)
    
    # 删除文件夹: 只能删除 “空的文件夹”
    # os.rmdir(DIR_PATH)
    View Code

    sys 模块 

    用法:

    import sys
    #获取当前的python 解释器的环境变量
    print(sys.path)
    # 将当前项目添加到环境变量中
    BASE_PATH = os.path.dirname(os.path.dirname(__file__))
    sys.path.append(BASE_PATH)
    
    # 获取cmd终端的命令行  python3 py文件 用户名 密码
    print(sys.argv)  # 返回的是列表['']
    View Code

    hashlib 模块

    hashlib 是一个加密模块 :

    --内置很多算法

    摘要算法:

    --摘要是从某一段内容中获取的加密字符

    --摘要一样,密码就一样

         ----- 密文密码就是一个摘要

    使用方法:

    import hashlib
    
    md5_obj = hashlib.md5()
    
    srt = '123'
    md5_obj.update(srt.encod('nut-8')) # 转换字符编码
    res = md5_obj.hexdigest() # 加密  
    
    但是会存在撞库破解的风险,所以我们要采取一个措施:加盐  
    import hashlib
    
    
    def pwd_md5(pwd):  #
        md5_obj = hashlib.md5()
        # print(type(md5_obj))
        str1 = pwd  # '1234'
        # update中一定要传入bytes类型数据
        md5_obj.update(str1.encode('utf-8'))
    
        # 创造盐
        sal = '坦克怎么这么帅啊!'
        # 加盐
        md5_obj.update(sal.encode('utf-8'))
    
        # 得到一个加密后的字符串
        res = md5_obj.hexdigest()
        # eb1ca06cf5940e9fb6ef39100ec72c94
        return res
    View Code
  • 相关阅读:
    Fedora 19安装Fcitx输入法并安装搜狗输入法资源包
    mac 功能修改。。。。
    Zend Studio / Ecliplse插件StartExplorer
    关于更改apache和mysql的路径的问题..
    解决fedora64下vim不能语法着色问题
    正则例一
    PHP中使用正则表达式详解 preg_match() preg_replace() preg_mat
    C语言正则表达式详解 regcomp() regexec() regfree()详解
    正则19-20
    正则表达式教程:30分钟让你精通正则表达式语法
  • 原文地址:https://www.cnblogs.com/127-2933/p/11943213.html
Copyright © 2011-2022 走看看