zoukankan      html  css  js  c++  java
  • 博客整理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'')
    
    
  • 相关阅读:
    CHIL-SQL-DELETE 语句
    Eclipse 创建新的workspace
    Eclipse 创建新的workspace
    Eclipse 创建新的workspace
    Eclipse 创建新的workspace
    遇见未来 | 对话王璞:谈分布式系统在企业落地的挑战
    onclick事件
    Form插件
    jquery 插件
    深入解析:Row Movement 的原理和性能影响与关联
  • 原文地址:https://www.cnblogs.com/samoo/p/11603995.html
Copyright © 2011-2022 走看看