zoukankan      html  css  js  c++  java
  • 常用模块

    一、random:随机数
    1、(0,1) 小数:random.random()
    2、[1,10] 整数:random.randint(1,10)
    3、[1,10) 整数:random.randrange(1,10)
    4、(1,10) 小数:random.uniform(1,10)
    5、单列集合随机选择1个:random.choice(item)
    6、单列集合随机选择n个:random.sample(item,n)
    7、洗牌单列集合:random.shuffle(item)
    8、例:
    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.count)

    二、shutil:可以操作权限的处理文件模块
    1、基于路径的文件复制:shutil.copyfile('source_file','target_file') #两个路径
    2、基于流的文件复制:with open('source_file','rb')as r,open('target_file','wb')as w:
    shutil.copyfileobj(r,w)
    3、递归删除目标目录:shutil.rmtree()
    4、文件移动:shutil.move('a/aa.py','b/bb.py')
    5、文件夹压缩:shutil.make_archive(目标文件,'zip',存放路径)
    6、文件夹解压:shutil.unpack_archive(目标文件,存放路径,'方式(看格式)('zip','gztar')')

    三、shevle:可以用字典存取数据到文件的序列化模块
    将序列化文件操作dump与load进行封装
    s_dic = shelve.open('target.txt') #注:writeback=True操作数据会同步写到文件
    1、序列化:存
    s_dic['key1'] = [1,2,3,4,5]
    s_dic['key2'] = {'name':'Bob','age':18}
      s_dic['key2'] = 'abc'
      s_dic.close()
    2、反序列化:取
      s_dic = shelve.open("target.txt", writeback=True)
      print(s_dic['key1'])
      s_dic['key1'][2] = 30
      print(s_dic['key1'])

      print(s_dic['key2'])
      s_dic['key2']['age'] = 300
      print(s_dic['key2'])

      print(s_dic['key3'])
      s_dic['key3'] = 'def'
      print(s_dic['key3'])
      s_dic.close()

    四、标准输入输出错误流
    1、sys.stdout.write('msg') #print('msg',end='')
    2、sys.stderr.write('msg')
    3、msg = sys.stdin.readline()

    五、logging:日志模块
    1、root logging的基本使用:五个级别
    logging.debug('debug')
    logging.info('info')
    logging.warning('warning')
    logging.error('error')
    logging.fatal('fatal')
    logging.critical('critical')
    2、root logging的基本配置:
    logging.basicConfig(
    level=logging.DEBUG,
    #stream=logging.stdout,
    format='%(asctime)s-[%(levelname)s]:%(message)s',
    #filename='owen.log',
    handlers=[handler1,handler2]
    )
    3、logging模块四个核心:
    Logger | Filter | Handler | Formater
    #规定输出源
    handler1 = logging.FileHandler('owen.log',enconding='utf-8')
    handler2 = logging.StreamHandler()
    #规定输出格式
    fmt = logging.Formatter(
    fmt='%(asctime)s-%(name)s-%(levelname)s:%(message)s',
    datefmt='%m-%d %H:%M:%S %p)'
    4、logging模块的配置与使用
    配置文件:LOGGING_DIC = {}
    加载配置文件:
    logging.config.dictConfig(LOGGING_DIC)
    logging.getLogger('log_name')
  • 相关阅读:
    OpenStack对象存储——Swift
    使用ssh对服务器进行登录
    在MacOs上配置Hadoop和Spark环境
    DOTA与面向对象的编程思想(3)——英雄的生命周期
    DOTA与面向对象的编程思想(2)——三层架构,让游戏跑起来
    DOTA与面向对象编程思想(1)——分述DOTA和面向对象思想
    再谈面向对象
    linux C 列出目录中的文件列表 包含文件的相关信息
    在Ubuntu 64位下搭建samba,实现linux与windows之间的资源共享,配置实现Ubuntu启动后samba服务与ssh服务开机自动启动
    LINUX下使用elasticsearch-jdbc工具实现MySQL同步到ElasticSearch 以及linux 64位centos系统安装jdk1.8
  • 原文地址:https://www.cnblogs.com/yanminggang/p/10691906.html
Copyright © 2011-2022 走看看