time--时间模块

时间三大类:

  • 时间戳 time.time()
  • 结构化时间(年月日时分秒 一周内第几天,一年内第几天,是否夏令时) time.localtime()  time.gmtime()
  • 格式化时间 time.strftime('%Y-%m-%d %X %p')

时间戳与结构化时间可以互相转换

结构化时间与格式化时间可以互相转换

datetime 日期时间模块(datetime包中有datetime模块)

方法

  • datetime.datetime.now()   获取当前时间
  • datetime.datetime.now().hour()  获取部分时间
  • datetime.datetime.now().replace(year = 1999)  替换部分时间

sys 解释器模块

方法

  • sys.path  环境变量 sys.path.append(路径)添加环境变量
  • sys.modules    查看已加载的模块
  • sys.argv    获取终端传入的参数(列表)
  • sys.version   查看解释器版本
  • sys.platform    查看平台名称
  • sys.exit()    退出

os 操作系统模块

os:

  • os.getcwd() 获取当前工作目录
  • os.chdir(目录路径)  改变工作目录
  • os.curdir  当前目录  .
  • os.pardir  上级目录  ..
  • 掌握os.makedirs(目录路径)   创建目录
  • os.mkdir(目录名称)      创建单个目录
  • os.removedirs(目录路径)           递归删除
  • os.rmdir(目录名称)            删除单个目录
  • os.remove(文件路径)        删除文件
  • os.listdir(文件夹路径)        获取所有文件和文件夹名称

*os.path:

  • os.path.abspath(文件相对路径)   返回绝对路径
  • os.path.split(文件路径)     将路径拆分为文件夹路径和文件名称两部分
  • os.path.dirname(__file__)   获取文件所在文件夹的路径
  • os.path.basename(文件路径)  获取路径最后一级名称
  • os.path.exists(路径)   判断该路径是否存在
  • os.path.isabs(路径)    判断是否是绝对路径
  • os.path.join('c:\\','xx')    将对个名称拼接为路径
  • os.path.getsize('文件路径')  输出文件字节数
  • os.path.normcase('路径')   路径规范化 大学变小写 斜杠统一

random 随机模块

方法:

  • random.random()    0-1的随机浮点数(不包括1)
  • random.randint(x,y)   x-y的随机整数
  • random.randrange(x,y)    x-y的随机整数(不包括y)
  • random.uniform(x,y)     x-y的随机浮点数
  • random.sample(list,x)      在列表中随机取x个值
  • random.shuffle(list)    将列表中的值打乱顺序(动作)
  • random.choice(list)     在列表中随机取1个值
  • random.choices(list,k=x)     在列表中随机取 x个值 并放入新列表中

shutil 高级文件操作模块

方法

  • shutil.copyfileobj(复制文件名,新文件名)     拷贝文件
  • shutil.make_archive(要压缩的文件名,压缩格式 ,压缩文件放的路径)     压缩文件
  • shutil.unpack_archive(压缩文件的路径)     解压缩文件

序列化模块:

序列化是指将内存中的数据结构转化为一种中间格式并储存在硬盘上

反序列化是将中间格式还原为内存中的数据结构

序列化模块可以更加方便的将数据存入硬盘

  1.pickle   python专用序列化模块(支持python所有数据类型)

   方法:

    • dumps   序列化
    • loads    反序列化
    • dump    封装了write和read更加方便
    • load

    序列化

    user = {}

    with open('db.pkl','ab') as f:

      x = pickle.dumps(user)

      f.write(x)

    

    with open('db.pkl','rb') as f:

      pickle.dump(user,f)

    with open as f:

      pickle.loads(f.read())

      pickle.load(f)

  2.shelve  python专用序列化模块(支持python所有数据类型)

   shelve方法不需要关心文件模式

   序列化

    user = {}

    s = shelve.open('db.shv') #打开文件

    s['user'] = user

    s.close()

   反序列化

    s = shelve.open('db.shv',writeback=True)

    x = s['user']

    print(x)

    s.close()

  3.json  通用序列化模块

    json是一种通用的数据格式

    

js 中的数据类型  python数据类型 的对应关系
{} 字典
[] list
string "" str
int/float int/float
true/false True/False
null None

  json格式x.json:

user=

{
  "users": [{
     "name": "agon",
     "age": 68
    },
    {
     "name": "agon",
     "age": 68
    }
  ]
}

  方法:

    dumps

    loads

    dump

    load

  序列化

    with open('db.json','wt',encoding='utf-8') as f:

      f.write(json.dumps(user))

  反序列化

    with open(''db.json,'rt',encoding='utf-8') as f:

      user = json.loads(read())

  4.xml  比较旧的通用序列化模块

  xml格式a.xml:

   <标签>

     <标签>

       <标签>内容</标签>

     </标签>

   </标签>

可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标
签。这种语法是在⼤于符号之前紧跟一个斜线(/)
解析器会将其翻译成<百度百科词条></百度百科词条>。
例例如<百度百科词条/>。

  方法

    form xml.etree import ElementTree as ET

    • ETree = ET.parse('db.xml')    解析xml文件
    • root = ETree.getroot()      获取根标签
    • for item in root.iter(标签名)     获取标签的方式1
    • root.find(标签名).attrib   获取标签的方式2
    • rootTree.findall(标签名)  获取标签的方式3
    • item.tag 标签名称
    • item.attrib 标签属性
    • item.text  文本内容
    • root.find(标签).get(标签)   获取单个属性
    • root.remove  删除子标签
    • 添加子标签

      tag =  ElementTree.Element(‘标签’,{‘属性’,‘值’})

      root.append(tag)

      ETree.write(''db.xml',encoding='utf-8')

      

configparser  配置文件模块

配置文件是包含配置程序信息的文件

需要改但不经常改的信息为配置信息

配置文件中有两种内容

section 分区和option 选项

  • config = configparser.ConfigParser()   创建一个解析器
  • config.read('db.cfg',encoding='utf-8')   解析
  • config.sections()      获取所有分区名
  • config.option()       获取所有选项名
  • config.get(分区,选项)           获取选项的值(返回字符串)
  • config.getint()                          获取值(返回int类型)
  • config.has_section()                判断是否有该分区
  • config.has_option()                  判断是否有该选项
  • config.add_section()                 添加分区
  • config.set(分区,选项,值)                                修改值
  • config.remove_option()             删除选项

logging  日志文件模块

  日志配置文件组成部分

    日志生成器 logger(调用书写日志的配置文件,关联处理器)

    过滤器 filter()

    处理器 handler(将信息打印到相应的日志文件,关联格式处理器)

    格式处理器 formatter(将信息格式化)

默认级别30   级别大于30日志才显示

logging.debug()  写入调试信息10

logging.info()  普通消息20

logging.warning()  警告30

logging.error()  错误40

logging.critical()  严重错误50

  mylog = logging.getLogger(日志生成器)  创建(获取)日志生成器

mylog.setLevel(10) 设置生成器级别

  fh = logging.FileHandler(日志名,encoding)  创建一个日志处理器

  fm = logging.Formatter(格式)

  logging.config.dictConfig() 解析日志配置文件

将mylog,fh,fm关联

  mylog.addHandler(fh)

  fh.setformatter(fm)

日志继承值propagate默认True True为继承False为不继承

  mylog.propagate = Flase

流处理器StreamHandler()让格式化信息显示在控制台

  logging.StreamHandler()

%(name)s:Logger的名字,并非用户名,详细查看

%(levelno)s:数字形式的日志级别

%(levelname)s:文本形式的日志级别

%(pathname)s:调用日志输出函数的模块的完整路径名,可能没有

%(filename)s:调用日志输出函数的模块的文件名

%(module)s:调用日志输出函数的模块名

%(funcName)s:调用日志输出函数的函数名

%(lineno)d:调用日志输出函数的语句所在的代码行

%(created)f:当前时间,用UNIX标准的表示时间的浮 点数表示

%(relativeCreated)d:输出日志信息时的,自Logger创建以 来的毫秒数

%(asctime)s:字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

%(thread)d:线程ID。可能没有

%(threadName)s:线程名。可能没有

%(process)d:进程ID。可能没有

%(message)s:用户输出的消息

hashlib  hash算法加密模块

hash算法是将一个任意长度的数据根据hash算法计算得到一个固定长度的特征码

h = hashlib.md5(‘123’.encode(‘utf-8’))  md5加密(32位特征码)

hashlib.sha512()  sha512加密(128位特征码)

h.hexdigest()   获取特征码

加盐

hashlib.md5('123'.encode(utf-8)).update('asdfghjkl'.encode(utf-8))

re--匹配字符串模块(正则表达式)

正则表达式-- 由一些带有特殊意义的符号组成的式子,可以处理字符串

[\u4e00-\u9fa5] 匹配中文

re.findall(正则,待匹配字符串)        匹配字符串

re.match()                                匹配字符串开头 只匹配一个  返回一个对象  .group()可以获取字符串

re.search()                               全范围匹配 只匹配一个

re.compile(\d{3})     将正则表达式编译成一个对象,之后可以不用在写表达式直接开始匹配

re.split()                     可以用正则表达式分隔字符串

subprocess--子进程模块

res = subprocess.Popen()      封装

subprocess.call()              打开子进程

res.kill()                              关闭子进程

python内置模块的更多相关文章

  1. python内置模块(4)

    这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...

  2. Python学习笔记【第八篇】:Python内置模块

    什么时模块 Python中的模块其实就是XXX.py 文件 模块分类 Python内置模块(标准库) 自定义模块 第三方模块 使用方法 import 模块名 form 模块名 import 方法名 说 ...

  3. Python内置模块与标准库

    Python内置模块就是标准库(模块)吗?或者说Python的自带string模块是内置模块吗? 答案是:string不是内置模块,它是标准库.也就是说Python内置模块和标准库并不是同一种东西. ...

  4. python内置模块[re]

    python内置模块[re] re模块: python的re模块(Regular Expression正则表达式)提供各种正则表达式的匹配操作,在文本解析.复杂字符串分析和信息提取时是一个非常有用的工 ...

  5. python内置模块[sys,os,os.path,stat]

    python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...

  6. Python内置模块和第三方模块

    1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...

  7. python内置模块collections介绍

    目录 python内置模块collections介绍 1.namedtuple 2.deque 3.defaultdict 4.OrderedDict 5.ChainMap 6.Counter 7.小 ...

  8. python内置模块介绍(一)

     本文主要介绍模块列表如下: os sys re time datetime random shutil subprocess os模块 os.getcwd()                    ...

  9. python内置模块(time模块)

    常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...

  10. python 内置模块续(二)

    目录 python 内置模块补充 1.hashlib模块 简易使用: 高级使用: 进阶使用: 加盐处理: 校验文件一致性 2.logging日志模块 日志等级 常用处理 "四大天王" ...

随机推荐

  1. Word文档中多个编号放同一行的方法(非技术)

    最近在帮公司出应届生校招面试题,为了方便,选择题部分的答案用了Word的[编号]功能!如下截图所示: 这么简短的四个答案这么竖着放很占空间(打印时也很浪纸张),能不能让它们全部横放在同一行,或两两一组 ...

  2. 转载-增删改查sql语句语法

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  3. FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别

    在页面中有多个input type="text"的文本输入框的情况下没有问题,但是当页面中有只有一个文本框的情况下(),就会出现此问题. 后来在form 中添加:onsubmit= ...

  4. Web前端基础——CSS

    一.CSS概述 css ( cascading style sheets ) 层叠样式表,可以轻松设置网页元素的显示.位置和格式外,甚至还能产生滤镜,图像 淡化,网页淡入淡出的渐变效果,简而言之,cs ...

  5. HDFS 命令大全

    目录 概要 用户命令 dfs 命令 追加文件内容 查看文件内容 得到文件的校验信息 修改用户组 修改文件权限 修改文件所属用户 本地拷贝到 hdfs hdfs 拷贝到本地 获取目录,文件数量及大小 h ...

  6. LINQ to Objects系列(1)相关技术准备

    LINQ to Objects是LINQ的一部分,是查询对象集合的一种语法.首先看一下LINQ的体系结构,这样对LINQ有一个大致的了解.如图. 第一篇文章主要是回顾一下学习LINQ to Objec ...

  7. 【 js 基础 】【 源码学习 】柯里化和箭头函数

    最近在看 redux 的源码,代码结构很简单,主要就是6个文件,其中 index.js 负责将剩余5个文件中定义的方法 export 出来,其他5个文件各自负责一个方法的实现. 大部分代码比较简单,很 ...

  8. 精选20个高品质的免费素材,可以下载PSD格式

    GraphicBurger 这个站点免费和收费的都有,注意区分 365psd 在日本比较有名的免费素材站. Pixeden Techandall Premium pixels 全部免费! Design ...

  9. Ubuntu16.04搭建kubernetes v1.11.2集群

    1.节点介绍         master      cluster-1      cluster-2      cluster-3 hostname        k8s-55      k8s-5 ...

  10. SD从零开始15-18

    SD从零开始15 税(Taxes) 税确定的标准Criteria for tax determination 你可以在sales organization level分配一个rule(blank,A, ...