首页 > 技术文章 > python常见的内置模块

yxh6666 2019-09-22 22:11 原文

python的内置模块:

  • os
  • os.path
  • sys
  • time
  • datetime
  • hashlib
  • base64
  • hmac
  • random
  • math

一、os模块:

  • os模块是与操作系统交互的一个接口
  • os模块常用方法:

      os.cpu_count()---------获取CPU架构
      os.chdir(path) ---------- change directory 修改目录
      os.curdir  ----------------获取当前路径(相对路径)
      os.chmod()  ------------修改文件权限
      os.listdir([path])  ------获取path下的所有文件及文件夹
      os.mkdir(path) --------在对应的路径下创建文件夹,注意:只能创建一级
      os.makedirs(path) ---在对应的路径下创建文件夹,注意:可以创建多级
      os.rename(oldname, newname) -------重命名
      os.sep  -------------------获取当前系统路径分隔符
      os.rmdir(path) ----------删除目录
      os.remove(path) ------ 删除文件

二、os.path模块:

  • os.path模块是和路径相关的模块
  • os.path模块常用方法

        os.path.abspath(相对路径)--------求绝对路径
        os.path.dirname()------------------- 获取目录
      os.path.basename()----------------获取文件名称
      os.path.exists()---------------------- 判断路径是否存在
      os.path.getsize()---------------------获取文件大小
      os.path.isfile()-------------------------判断是否是文件
      os.path.isdir()-------------------------判断是否是文件夹
      os.path.islink() -----------------------判断路径是否为链接
      os.path.ismount()--------------------判断路径是否为挂载点
      os.path.join() -------------------------拼接
      os.path.split() ------------------------把路径分割成 dirname 和 basename,返回一个元

三、hashlib模块:

  • 加密,散列加密(hash加密)
  • 加密分为可逆加密和不可逆加密,可逆加密是根据加密和解密的密钥是否是同一个来判断
  • 对称加密和非对称加密属于可逆加密
    对称加密:如DES加密
    非对称加密:如RSA加密
  • 不可逆加密:hash是典型的不可逆加密

    MD5加密,shal256加密都属于不可逆加密

  • hash加密的方法:

    import hashlib

    md5 = hashlib.md5("需要加密的数据".encode("utf-8"))

四、time模块:

  • time模块的常用方法

     asctime() ---------------获取系统当前时间
        ctime() ------------------获取系统当前时间
        time() --------------------获取当前的时间戳
        localtime() --------------返回当前时间,以类似于元组的对象
          t = time.localtime()
          print("当前时间是%s-%s-%s %s:%s:%s" %(t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec))
        time.strftime()-----------将时间对象格式化成字符串
          time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
         time.strptime()----------时间字符串转换为时间对象
          time.strptime('2019/09/18 21:02:44', "%Y/%m/%d %H:%M:%S")

五、datetime模块:

  • datetime常用方法:

       datetime.datetime.now()---------获取系统当前时间

六、sys模块:

  • sys模块常用方法

     sys.argv()-----------------------在Python脚本传参使用(很重要)

     sys.exit()----------------------- 系统退出
        sys.getdefaultencoding() ---获取系统默认编码
     getfilesystemencoding()-----获取文件编码
        getrecursionlimit() ------------获取系统默认递归的最大层数
        setrecursionlimit(num) ------设置递归的最大层数
        getrefcount() -------------------获取对象的引用计数的数

七:base64模块:

  • base64模块主要用于base64编码与base64解码
  • base64 是以一种任意二进制导字符串的编码方法,常用于在网页中传输少量二进制数据

注意:bas64生成的编码都是ascii码

      base64编码或解码都返回的手机字节,需要手动转换成字符

下面演示一下base64的编码与解码

  • 编码:

  

  •  解码:

   

  八、hmac模块:

(参考资料:https://blog.csdn.net/salove_y/article/details/79056451)、

 

  • 首先需要准备待计算的原始消息message,随机key,  hash算法(主要提供SHA1、SHA224、SHA384、SHA512、MD5算法),这里采用MD5,使用hmac的代码如下:

  

 

九、math模块:

用法:math.xxx

  • ceil------------------取大于等于x的最小的整数值,如果x是一个整数,则返回x
  • copysign-----------把y的正负号加到x前面,可以使用0
  • cos------------------求x的余弦,x必须是弧度
  • degrees------------把x从弧度转换成角度
  • e---------------------表示一个常量
  • exp------------------返回math.e,也就是2.71828的x次方
  • expm1--------------返回math.e的x(其值为2.71828)次方的值减1
  • fabs-----------------返回x的绝对值
  • factorial------------取x的阶乘的值
  • floor-----------------取小于等于x的最大的整数值,如果x是一个整数,则返回自身
  • fmod----------------得到x/y的余数,其值是一个浮点数
  • frexp----------------返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围
  • fsum----------------对迭代器里的每个元素进行求和操作
  • gcd-----------------返回x和y的最大公约数
  • hypot---------------如果x是不是无穷大的数字,则返回True,否则返回False
  • isfinite--------------如果x是正无穷大或负无穷大,则返回True,否则返回False
  • isinf------------------如果x是正无穷大或负无穷大,则返回True,否则返回False
  • isnan----------------如果x不是数字True,否则返回False
  • ldexp----------------返回x*(2**i)的值
  • log-------------------返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)
  • log10----------------返回x的以10为底的对数
  • log1p----------------返回x+1的自然对数(基数为e)的值
  • log2------------------返回x的基2对数
  • modf-----------------返回由x的小数部分和整数部分组成的元组
  • pi---------------------数字常量,圆周率
  • pow------------------返回x的y次方,即x**y
  • radians--------------把角度x转换成弧度
  • sin--------------------求x(x为弧度)的正弦值
  • sqrt-------------------求x的平方根
  • tan--------------------返回x(x为弧度)的正切值
  • trunc-----------------返回x的整数部分

 

推荐阅读