• Python学习笔记六


    Python课堂笔记六

    常用模块已经可以在单位实际项目中使用,可以实现运维自动化。无需手工备份文件,数据库,拷贝,压缩。

    常用模块

    time模块

    time.time

    time.localtime

    time.strftime

    os模块:主要针对操作系统的一些方法,如:切换目录

    sys模块:跟python解释器交互使用。

    shutil模块:针对目录或文件的复制,拷贝,重命名的操作等。

    hashlib模块:摘要算法模块.

                        1.文件的一致性校验

          2.用户的加密认证

                        3.不可逆性,撞库,加盐

    json/pickle/shelve模块:

                       json:通用的序列化格式,支持的数据类型有限

                       pickle:只能python程序使用

    configparse

    random模块

               验证码

    logging模块

      模块级别:

        critical=50

        error=40

        warning=30

        info=20

        debug=10

        notset=0

        默认日志级别:warning,   

        默认的输出目标是:终端

        全局配置日志
        import logging
        logging.basicConfig(
      filename='yangjianbo.log',
      format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:%(message)s',
      datefmt='%Y-%m-%d %H-%M-%S',
      level=10,
        )

        logging.debug('杨建波111111')

        

         logging的四个对象

        logger    fiter   formatter   hanlder

       logging的正式使用:

               logging.config

    re模块

      

          re.findall()

        

    #coding=utf-8
    import re
    
    #第一个参数:正则规则;
    #第二个参数:要查询的字符串。
    # print(re.findall('yang','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))
    # print(re.findall('aaa','bbbs2 222aaa dcccddddddaaaaaaa'))
    # print(re.findall('[a-z]','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #匹配所有小写字母
    # print(re.findall('\w','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))  #字母数字下划线
    # print(re.findall('\W','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))  #非字母数字下线
    # print(re.findall('\s','I am yangjianbo,ya2ch\ten\ra\nmu,ddf***iujf _-yang22')) #空字符,包括\t \r \n
    # print(re.findall('\S','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))#非空字符
    # print(re.findall('\d','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #数字
    # print(re.findall('\D','I a\tm yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #非数字
    
    #重复匹配
    # print(re.findall('ab?','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))#重复前一个字符0次或1次
    # print(re.findall('ab*','I am yangjianbo, abbbb ya2chenamu,ddf***iujf _-yang22')) #重复前一个字符0次或无穷次
    # print(re.findall('ab+','I am yangjianbo,ya2chenabbbbamu,ddf***iujf _-yang22'))#重复前一个字符1次或无穷次
    # print(re.findall('ab{4}','I am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22'))#重复前一个字符4次。
    # print(re.findall('ab{4,5}','I am yangjabbbbianbo,abbya2abbbbbchenamu,ddf***iujf _-yang22'))#重复前一个字符4次到5次
    # print(re.findall('a.b','I am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22'))# 点表示任意一个字符
    #.* 表示匹配所有字符。默认是贪婪匹配。
    # print(re.findall('a.*b','I am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22 a1283838b'))#匹配出a和b之前所有的字符,而且是最长的。
    # print(re.findall('a.*?b','I am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22 a1283838b'))#匹配符合a和b之间最短的字符.

       re.search()  匹配第一个字符,匹配成功就返回结果,不会继续匹配。

         re.match() :匹配以指定字符串为首的字符串,匹配成功就返回结果,与re.search('^')相似。

       re.split(): 以指定的分隔符,分割字符串。

               re.sub():  用来替换指定的字符串。

            

     

    一往无前虎山行,拨开云雾见光明
  • 相关阅读:
    bzoj1854 [Scoi2010]游戏
    bzoj2456 mode
    bzoj4810 [Ynoi2017]由乃的玉米田
    bzoj1076 [SCOI2008]奖励关
    bzoj3064 Tyvj 1518 CPU监控
    bzoj1798 [Ahoi2009]维护序列
    bzoj3575 [Hnoi2014]道路堵塞
    bzoj3992 [SDOI2015]序列统计
    uoj#34. 多项式乘法
    高等代数典型问题集
  • 原文地址:https://www.cnblogs.com/yangjianbo/p/7709666.html
Copyright © 2020-2023  润新知