• 模块


    一、random:随机数

    • 0, 1) 小数:random.random()
    • [1, 10] 整数:random.randint(1, 10)
    • [1, 10) 整数:random.randrange(1, 10)
    • (1, 10) 小数:random.uniform(1, 10)
    • 单例集合随机选择1个:random.choice(item)
    • 单例集合随机选择n个:random.sample(item, n)
    • 洗牌单列集合:random.shuffle(item)
    # 产生指定位数的验证码
    import random
    def random_code(count):
        code = ''
        for i in range(count):
            num = random.randint(1, 3)
            if num == 1:
                tag = str(random.randint(0, 9))
            elif num == 2:
                tag = chr(random.randint(65, 90))
            else:
                tag = chr(random.randint(97, 122))
            code += tag
        return code
    print(random_code(6))
    验证码案例

    二、shutil:可以操作权限的处理文件模块

    • 基于路径的文件复制
    shutil.copyfile('source_file', 'target_file')
    • 基于流的文件复制
    with open('source_file', 'rb') as r, open('target_file', 'wb') as w:
        shutil.copyfileobj(r, w)
    • 递归删除目标目录
    shutil.rmtree('target_folder')
    • 文件移动
    shutil.remove('old_file', 'new_file')
    • 文件夹压缩
    shutil.make_archive('file_name', 'format', 'archive_path')
    • 文件夹解压
    shutil.unpack_archive('unpack_file', 'unpack_name', 'format')

    三、shevle:可以用字典存取数据到文件的序列化模块

    # 将序列化文件操作dump与load进行封装
    s_dic = shelve.open("target_file", writeback=True)  # 注:writeback允许序列化的可变类型,可以直接修改值
    # 序列化::存
    s_dic['key1'] = 'value1'
    s_dic['key2'] = 'value2'
    # 反序列化:取
    print(s_dic['key1'])
    # 文件这样的释放
    s_dic.close()

    四、三个流:标准输入流、输出流、错误流

    import sys
    sys.stdout.write('msg')
    sys.stderr.write('msg')
    msg = sys.stdin.readline()
    
    # print默认是对sys.stdout.write('msg') + sys.stdout.write('
    ')的封装
    # 格式化结束符print:print('msg', end='')

    五、logging:日志模块

    •  root logging的基本使用:五个级别,打印级别是认为规定的
    logging.debug('debug')
    logging.info('info')
    logging.warning('warning')
    logging.error('error')
    logging.fatal('fatal')
    logging.critical('critical')
    •  root logging的基本配置:logging.basicConfig()
    •  logging模块四个核心:Logger | Filter | Handler | Formater
    •  logging模块的配置与使用
    •  -- 配置文件:LOGGING_DIC = {}
    •  -- 加载配置文件:logging.config.dictConfig(LOGGING_DIC) => logging.getLogger('log_name')
    import logging
    import sys
    
    handler1 = logging.FileHandler("owen.log", encoding="utf-8")
    handler2 = logging.StreamHandler()
    
    logging.basicConfig(
        level=logging.DEBUG,
        # stream=sys.stdout,
        format='%(asctime)s -【%(levelname)s】: %(message)s',
        # filename='owen.log'
        handlers=[handler1, handler2]
    )
    
    # 打印级别是人为规定的
    logging.debug('debug')
    logging.info('info')
    logging.warning('warning')
    logging.error('error')
    logging.fatal('fatal')
    logging.critical('critical')
    View Code
  • 相关阅读:
    Linux动态链接(4)ldd与ldconfig
    Linux动态链接(3)so文件映射地址
    Linux动态链接(2)so初始化执行
    Linux动态链接(1)惰性链接
    kill信号由谁接收处理
    gdb调试器之"测不准原则"
    gdb动态库延迟断点及线程/进程创建相关事件处理(下)
    gdb动态库延迟断点及线程/进程创建相关事件处理(上)
    Redis集群,备份,哨兵机制
    hyper-v虚拟机centos7网络配置
  • 原文地址:https://www.cnblogs.com/wangyisen/p/10692466.html
Copyright © 2020-2023  润新知