• 博客整理day16 os/sys/json/pickle/logging模块


    Python day16 模块

    os模块

    ​ os模块常用方法

    import os
    #os模块 #与操作系统交互,控制文件/文件夹
    
    #对文件操作
    # 判断是否为文件  isfile()
    res = os.path.isfile(r'')
    print(res)
    
    #删除文件  remove()
    os.remove(r'')
    
    #重命名文件  os.rename()
    os,rename(r'',r'')
    
    #对文件夹操作
    #判断是否为文件夹  os.path.isdir()
    os.path.isdir()
    
    #创建文件夹   os.mkdir()
    os.mkdir(r'')
    
    #删除文件夹  os.rmdir()
    os.rmdir(r'')
    
    #列出文件夹内所有文件   os.listdir()
    
    res = os.listdir(r'')
    

    ​ os模块辅助性方法

    #当前文件的所在文件夹  os.getcwd()
    res = os.getcwd()
    
    #当前文件的所在路径  __file__  pycharm独有  os.path.abspath(__file__)
    res = os.pathabpath(__file__)
    
    #文件的文件夹  os.path.dirname()
    os.path.dirname
    
    #拼接文件路径  os.path.jion()
    res = os.path.jion(os.path.jion(os.path.abspath(__file__)),'img','test.jpg') 
    
    #判断路径是否存在   os.path.exists()
    res = os.path.exists(r'')
    

    sys模块

    ​ sys模块常用方法

    #sys模块: 与python解释器交互
    
    #当时用命令行式,接收多余的参数  sys.argv
    res = sys.argv
    
    #拿到当前导入的模块  sys.modules.keys()
    sys.modules.keys()
    

    ​ sys需了解方法

    print(sys.api_version)
    
    print(sys.copyright)
    
    print(sys.version)
    
    print(sys.hexversion)
    

    json模块

    # json模块: 跨平台数据交互,json串
    
    #序列化:按照特定的规则排列(json串-->跨平台交互,传输数据)
    #反序列化:按照特定的规则把jason串转化成python/java/c/php需要的数据类型
    
    import json
    
    dic = [1,(1,2)]
    res = json.dumps(dic)#json串中没有单引号
    print(type(res),res)#跨平台数据交互
    
    res = json.loads(res)
    print(type(res),res)
    
    dic = {'a':True, 'b':None}
    #序列化字典为json串,并保存文件
    import json
    def dic():
        print('func')
    with open('test.json','w',encoding='utf8') as fw:
        json.dump(dic.fw)
        
    #反序列化
    with open('test.json','r',encoding='utf8') as fr:
    	data = json.load(fr)
    	print(type(data),data)
    

    pickle模块

    #pickle模块:不夸平台,针对python所有数据类型,如集合,使用方式和json一样
    
    def func()  #针对地址而言,只存了一个函数名
    	print('func')
    
    with open('test.pkl','wb') as fw:
        pickle.dump(func,fw)
        
    def func():
        print('hello')
    with open('test.pkl','rb') as fr:
        data = pickle.load(fr)
        print(type(data),data)
        data()   #只能取到函数名
    

    logging模块

    #logging模块:日志模块
    #1. 配置logger对象
    simple_logger = logging.Logger('simple')
    
    #2.配置格式
    formmater1 = logging.Formatter('%(asctime)s - %(name)s -%(thread)d - %(levelname)s -%(module)s:  %(message)s',
                                   datefmt='%Y-%m-%d %H:%M:%S %p ', )
    
    formmater2 = logging.Formatter('%(asctime)s :  %(message)s',
                                   datefmt='%Y-%m-%d %H:%M:%S %p', )
    
    formmater3 = logging.Formatter('%(name)s %(message)s', )
    
    #3. 配置handler -->往文件打印 or 往终端打印
    h1 = logging.FileHandler('simple.log')
    sm.StreamHandler()
    
    #4.给handler配置格式
    h1.setFormatter(formmater1)
    
    #5.把handler帮顶给logger对象
    simple_logger.addHandler(h1)
    
    #6.直接使用
    simple_logger.info(f'')
    
    
  • 相关阅读:
    Windows 创建 Redis 和 zookeeper 系统服务
    mysql 5.7 非正常安装,无法启动 服务没有报告任何错误
    将整个 project 资源打包
    使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库
    所有子模块都要执行的checkstyle检查
    把项目通过maven生产源码包和文档包并发布到自己的私服上
    C#.NET常见问题(FAQ)-在VS程序如何取消.vshost的进程
    C#.NET常见问题(FAQ)-无法直接启动带有类库输出类型的项目怎么办
    C#.NET常见问题(FAQ)-VS如何整个项目中查找字符串
    C#.NET常见问题(FAQ)-如何在系统变量中加入新的环境变量
  • 原文地址:https://www.cnblogs.com/samoo/p/11603995.html
Copyright © 2020-2023  润新知