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)
    """

    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())
    """
    """
    日期/时间的计算
    日期时间 = 日期时间 '+' 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) """

    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) """

    案例:

    """
    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))

    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)

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) # 返回的是列表['']

hashlib 模块

hashlib 是一个加密模块 :

--内置很多算法

摘要算法:

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

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

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

使用方法:

import hashlib

md5_obj = hashlib.md5()

srt = ''
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

最新文章

  1. ModelAndView详解
  2. 源代码tfs to git
  3. mybatis generate 自动生成 entity dao 和 xml 文件
  4. 【BZOJ】2002: [Hnoi2010]Bounce 弹飞绵羊(lct)
  5. OC9_代理正向传值
  6. Google Map API v2 步步为营 (二)----- Location
  7. 为代码减负之<二>存储过程(SQL)
  8. 201521123098 《Java程序设计》 第4周学习总结
  9. windows net 命令(转载)
  10. Swift对象实例方法名混淆的解决
  11. Redux Todos Example
  12. Oracle数据库表索引失效,解决办法:修改Oracle数据库优化器模式
  13. 迭代器与泛型for
  14. LoadRunner改脚本
  15. jquery 封装插件
  16. NodeJS之express的路由浅析
  17. MySQL - FEDERATED引擎实现跨服务器查询
  18. [转] 职业规划:一个老鸟眼中“IT民工”的发展方向
  19. Flash的swf文件破解
  20. 5分钟教你配置命令行界面的163邮箱client

热门文章

  1. SQL 查询 group by 的使用注意点
  2. CSS 实现水平垂直居中
  3. ltp-ddt realtime_cpu_load timeout
  4. python 模仿 C/C++ 结构体
  5. bzoj5161 最长上升子序列 状压DP(DP 套 DP) + 打表
  6. FreeBSD虚拟机——小折腾
  7. Oracle11g新建用户及用户表空间
  8. gensim Load embeddings
  9. .NET Core 使用 nlog 进行日志记录
  10. thinkphp 配置格式