zoukankan      html  css  js  c++  java
  • 常用模块----time&random&hushlib&os

    模块:本质就是一个.py文件
    分为三部分:
    • 内置模块
    • 第三方模块
    • 自定义模块(模块调用,包)
    加载顺序:内置模块——>自定义模块
     
    • time 模块
    # <1> 时间戳
    
    >>> import time
    >>> time.time()      #--------------返回当前时间的时间戳
    
    1493136727.099066
    
    # <2> 时间字符串
    
    >>> time.strftime("%Y-%m-%d %X")
    '2017-04-26 00:32:18'
    
    # <3> 时间元组
    
    >>> time.localtime()
    time.struct_time(tm_year=2017, tm_mon=4, tm_mday=26,
                     tm_hour=0, tm_min=32, tm_sec=42, tm_wday=2,
                     tm_yday=116, tm_isdst=0)

    几种时间形式的转换:

      

    • random 模块
      >>> import random
      >>> random.random()      # 大于0且小于1之间的小数
      0.7664338663654585
      
      >>> random.randint(1,5)  # 大于等于1且小于等于5之间的整数
      2
      
      >>> random.randrange(1,3) # 大于等于1且小于3之间的整数
      1
      
      >>> random.choice([1,'23',[4,5]])  # #1或者23或者[4,5]
      1
      
      >>> random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合
      [[4, 5], '23']
      
      >>> random.uniform(1,3) #大于1小于3的小数
      1.6270147180533838
      
      >>> item=[1,3,5,7,9]
      >>> random.shuffle(item) # 打乱次序
      >>> item
      [5, 1, 3, 7, 9]
      >>> random.shuffle(item)
      >>> item
      [5, 9, 7, 1, 3]
      随机生成验证码
      import
      random def valdate(): x=[i for i in range(10)] s=random.sample(x,5) res=''.join(str(i) for i in s) return res print(valdate()) def valdate2(): ret='' for i in range(5): num=random.randint(0,9) alp=chr(random.randint(97,122)) alp2=chr(random.randint(65,90)) s=random.choice([str(num),alp,alp2]) ret=ret+s return ret print(valdate2())
    • hashlib  

    hash:一种算法 ,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
    三个特点:
    1.内容相同则hash运算结果相同,内容稍微改变则hash值则变
    2.不可逆推
    3.相同算法:无论校验多长的数据,得到的哈希值长度固定。

     1 import hashlib
     2  
     3 m=hashlib.md5()# m=hashlib.sha256()
     4  
     5 m.update('hello'.encode('utf8'))
     6 print(m.hexdigest())  #5d41402abc4b2a76b9719d911017c592
    摘要算法:文件一致性校验;登录
    加盐处理:
    md5_obj=hashlib.md5(‘salt')
    • os模块
      os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
      os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
      os.curdir  返回当前目录: ('.')
      os.pardir  获取当前目录的父目录字符串名:('..')
      os.makedirs('dirname1/dirname2')    可生成多层递归目录
      os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
      os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
      os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
      os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
      os.remove()  删除一个文件
      os.rename("oldname","newname")  重命名文件/目录
      os.stat('path/filename')  获取文件/目录信息
      os.sep    输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
      os.linesep    输出当前平台使用的行终止符,win下为"	
      ",Linux下为"
      "
      os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
      os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
      os.system("bash command")  运行shell命令,直接显示
      os.environ  获取系统环境变量
      os.path.abspath(path)  返回path规范化的绝对路径
      os.path.split(path)  将path分割成目录和文件名二元组返回
      os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
      os.path.basename(path)  返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
      os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
      os.path.isabs(path)  如果path是绝对路径,返回True
      os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
      os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
      os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
      os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
      os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
      os.path.getsize(path) 返回path的大小


  • 相关阅读:
    SharePoint 2013 中的SQL Server 安全
    SharePoint 2013 的HTML5特性之响应式布局
    SharePoint 2013 一些小技巧
    SharePoint 2013 排错之"Code blocks are not allowed in this file"
    SharePoint 2013 创建搜索中心及搜索设置
    SharePoint 2013 使用PowerShell创建State Service
    SharePoint 2013 内容部署功能简介
    SharePoint 使用PowerShell恢复误删的网站集
    SharePoint 自定义WebPart之间的连接
    linux之misc及使用misc创建字符设备
  • 原文地址:https://www.cnblogs.com/mona524/p/7061487.html
Copyright © 2011-2022 走看看