• os模块,序列化模块,json模块,pickle模块


    一、os模块
    os.system("bash command") 运行shell命令,直接显示 os.popen("bash command).read() 运行shell命令,获取执行结果 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
    os.path
    os.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回 
    os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 
    os.path.basename(path) 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
    os.path.isabs(path)  如果path是绝对路径,返回True
    os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
    os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
    os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    os.path.getatime(path)  返回path所指向的文件或者目录的最后访问时间
    os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
    os.path.getsize(path) 返回path的大小


      os模块所做的事情
        定制了很多方法 间接的帮助你去调用操作系统的命令 获得结果
        然后帮助你分析整理成我们需要的数据类型的形态
        你也可以os.popen/os.system直接取调用操作系统的命令 获得结果
        但是 分析和整理的工作需要你自己做
        用os模块的方法本身能够完成的功能我们就用定制好的方法就够了
        如果有一天 你发现os模块定制好的功能解决不了我们的问题了
        而刚好操作系统的命令能够很好地帮助我们解决问题
        这个时候就用os.popen/os.system


    二、序列化模块

        序列化的目的

          1、以某种存储形式使自定义对象持久化
          2、将对象从一个地方传递到另一个地方。
          3、使程序更具维护性。
     
    import json
    dic = {'k1':'v1','k2':'v2','k3':'v3'}
    str_dic = json.dumps(dic)  #序列化:将一个字典转换成一个字符串
    print(type(str_dic),str_dic)  #<class 'str'> {"k3": "v3", "k1": "v1", "k2": "v2"}
    #注意,json转换完的字符串类型的字典中的字符串是由""表示的
    
    dic2 = json.loads(str_dic)  #反序列化:将一个字符串格式的字典转换成一个字典
    #注意,要用json的loads功能处理的字符串类型的字典中的字符串必须由""表示
    print(type(dic2),dic2)  #<class 'dict'> {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
    
    
    list_dic = [1,['a','b','c'],3,{'k1':'v1','k2':'v2'}]
    str_dic = json.dumps(list_dic) #也可以处理嵌套的数据类型 
    print(type(str_dic),str_dic) #<class 'str'> [1, ["a", "b", "c"], 3, {"k1": "v1", "k2": "v2"}]
    list_dic2 = json.loads(str_dic)
    print(type(list_dic2),list_dic2) #<class 'list'> [1, ['a', 'b', 'c'], 3, {'k1': 'v1', 'k2': 'v2'}]
    
    loads和dumps
    import json
    f = open('json_file','w')
    dic = {'k1':'v1','k2':'v2','k3':'v3'}
    json.dump(dic,f)  #dump方法接收一个文件句柄,直接将字典转换成json字符串写入文件
    f.close()
    
    f = open('json_file')
    dic2 = json.load(f)  #load方法接收一个文件句柄,直接将文件中的json字符串转换成数据结构返回
    f.close()
    print(type(dic2),dic2)
    
    load和dump


  • 相关阅读:
    Object_Pascal_西门子SCL应用_系列1_初识SCL
    Windows程序设计零基础自学_5_GDI基础_之获取设备内容信息
    Windows程序设计零基础自学_1_Windows程序消息循环机制
    Delphi真的没落了吗?_说Delphi母语Pascal的另一个应用
    C语言学习趣事_关于C语言中的预处理
    C语言学习趣事_关于C语言中的输入输出流
    C语言学习趣事_关于C语言中的空格
    Windows程序设计零基础自学_4_Windows程序的显示和更新_之滚动条处理
    Windows程序设计零基础自学_5_GDI基础
    C语言学习趣事_经典面试题系列_1
  • 原文地址:https://www.cnblogs.com/shanae/p/9512897.html
Copyright © 2020-2023  润新知