zoukankan      html  css  js  c++  java
  • Python模块学习

    OS

    # 获取操作系统的名字 Win:nt 非win:posix
    print(os.name)
    # 路径的分隔符win: Linux:/
    print(os.sep)
    # 获取文件的绝对路径
    print(os.path.abspath('filename'))
    # 判断是否是文件夹
    print(os.path.isdir('filename'))
    # 判断是否是文件
    print(os.path.isfile('filename'))
    # 判断文件是否存在
    print(os.path.exists('filename'))
    # 实现文件名与后缀的分离
    filename = 'name.txt.txt'
    print(os.path.splitext(filename))  # ('name.txt', '.txt')
    # 获取当前工作目录
    print(os.getcwd())
    # 切换当前脚本的工作目录,相当于shell下的cd命令
    print(os.getcwd())
    os.chdir('../')
    print(os.getcwd())
    # 文件夹重命名
    os.rename('filename', 'Newfilename')
    # 删除 空 文件夹
    os.rmdir("filename")
    # 创建文件夹
    os.mkdir("filename")
    # 列出指定目录下的所有文件和文件夹 空默认为当前目录
    print(os.listdir())
    # 获取到环境配置
    print(os.environ)
    # 获取指定的环境配置
    print(os.environ.get('PATH'))

    Math

    import math

    # 常量
    # inf=inf # +inf 正无穷 -inf 负无穷
    # nan=nan # 非数字 not a number
    # e=2.718281828459045
    # pi=3.141592653589793
    # tau=6.28318530719586

    print(math.fabs(-100))  # 绝对值
    print(math.factorial(5))  # 求阶乘
    print(math.floor(12.98))  # 向下取整
    print(math.ceil(12.001))  # 向上取整
    print(math.pow(2, 10))  # 2的10次方
    print(math.sin(math.pi / 6))  # 以弧度为单位
    print(math.cos(math.pi / 3))
    print(math.tan(math.pi / 4))

    Random

    import random

    # randint(2,9) 随机生成区间在[2,9]的整数
    print(random.randint(2, 9))
    # random() 用来生成区间在[0,1)的随机浮点数
    print(random.random())
    # randrange(2,9)随机生成区间在[2,9)的整数
    print(random.randrange(2, 9))
    # 在可迭代对象里随机抽取一个数据项
    print(random.choice('abcdefg'))
    # 在可迭代对象里随机抽取多个对象
    print(random.sample('abcdefg', 2))

    datetime

    import datetime as dt

    # 当前时间
    print(dt.datetime.now())
    # 创建一个日期 年月日
    print(dt.date(2020, 1, 1))
    # 创建一个时间 时分秒
    print(dt.time(18, 23, 45))
    # 计算三天以后的日期时间
    print(dt.datetime.now() + dt.timedelta(3))

    Time

    import time

    # 获取1970-01-01 00:00:00 UTC 到现在时间的秒数
    print(time.time())
    # 按照指定格式输出时间
    time.strftime("%Y-%m-%d %H:%M:%S")
    # Fri May 29 23:28:28 2020
    print(time.asctime())
    # 给一个秒数 由1970-01-01 08:00 生成某一时间
    print(time.ctime(0))

    calendar

    import calendar

    """日历模块"""
    # 打印2020年的日历,默认以周日为起始日期码
    print(calendar.calendar(2020))
    # 打印2020年5月的日历
    print(calendar.month(2020, 5))
    # 将monday设置为起始日期码
    calendar.setfirstweekday(calendar, MONDAY)
    # 闰年返回Ture 否则返回False
    print(calendar.isleap(2004))
    # 获取0-2020年之间有多少闰年
    print(calendar.leapdays(0, 2020))

    hashlib、hmac

    import hashlib
    import hmac

    """数据加密"""
    # hashlib主要支持两个算法:md5和sha加密
    # 加密方式:
    # 单向加密md5/sha:只有加密过程,不能解密
    # 对称加密、非对称加密rsa
    # 需要将加密的内容转换为二进制
    # 生成一个md5对象
    x = hashlib.md5("abc".encode("utf8"))
    # 900150983cd24fb0d6963f7d28e17f72
    x.update("qwer".encode("utf8"))
    # d1a40f7be1956a26b3a0abb8a7b943b8
    print(x.hexdigest())

    h1 = hashlib.sha1("123456".encode())
    print(h1.hexdigest())
    # 一个十六进制占4位 此处224位
    h2 = hashlib.sha224("123456".encode())
    print(h2.hexdigest())
    # 一个十六进制占4位 此处256位
    h3 = hashlib.sha256("123456".encode())
    print(h3.hexdigest())
    # 一个十六进制占4位 此处384位
    h4 = hashlib.sha384("123456".encode())
    print(h4.hexdigest())
    # 一个十六进制占4位 此处512位
    h5 = hashlib.sha512("123456".encode())
    print(h5.hexdigest())

    h = hmac.new('h'.encode(), '你好'.encode())
    result = h.hexdigest()
    print(result)

    uuid

    import uuid

    # 用来生成一个全局唯一的id
    # 32个长度,每个字符16种选择 16**32之1的概率
    print(uuid.uuid1())
    # uuid4使用的最多
    print(uuid.uuid4())

    print(uuid.uuid3(uuid.NAMESPACE_DNS, "zhangsan"))
    # uuid3与uuid5是使用传入的字符串根据指定的算法算出来且固定的
    print(uuid.uuid5(uuid.NAMESPACE_DNS, "zhangsan"))

     

  • 相关阅读:
    ror小记
    uuid before_create
    好东西jquery ui slider
    ror
    rails3 reventl
    ad
    wiki guide tutorial
    忽然意识到我需要端正态度
    20101022网站更新部署
    ECFA
  • 原文地址:https://www.cnblogs.com/Noturns/p/12990451.html
Copyright © 2011-2022 走看看