• Python基础到进阶之02 文件读写和JSON格式


    r:只读,读取文件,光标在文件初始位置

    w:只写,写入文件,光标在文件初始位置,抹除原有内容(截断)

    a:只写,写入文件,光标在文件末尾,新填内容

    w+:读+写,写:抹除原有内容(截断),光标在文件初始位置。读:截断了,所以读取不到内容,写入内容之后,可以移动光标,再读取

    r+:读+写,写:不抹除原有内容,光标在初始位置,写会抹除原有内容。读:读取文件,光标在文件初始位置

    a+:读+写,写:不抹除原有内容,光标在文件末尾。读:读取文件,光标在文件末尾,所以读取不到内容,可以移动光标,再读取

    x:  写,新建文件,不可以读取,文件存在会出错,上面的文件不存在会出错。

    x+:读+写,新建文件,光标一直在最后,可以通过移动光标读取。

    以上用于 open(filename,mod="",encoding="") 函数的mod

    移动光标操作:

    f.seek(offset,whence)

    offset表示对于相对位置的偏移量,whence表示光标位置,012表示初始、当前和末尾

    f.tell() 返回当前位置

    JSON格式

    JSON是“JavaScript Object Notation”的缩写,它本来是JavaScript语言中创建对象的一种字面量语法,现在已经被广泛的应用于跨平台跨语言的数据交换。

    以前写脚本的时候,处理页面信息里的信息都是用re模块的match或者find的,就因为不会处理JSON文件,也没仔细看,切实处理JSON格式非常简单。

    mydict = {
    'name': '骆昊',
    'age': 38,
    'qq': 957658,
    'friends': ['王大锤', '白元芳'],
    'cars': [
    {'brand': 'BYD', 'max_speed': 180},
    {'brand': 'Audi', 'max_speed': 280},
    {'brand': 'Benz', 'max_speed': 320}
    ]
    }

     mydict是python的一个字典对象,可以转换成JSON格式

    {"name": "u9a86u660a", "age": 38, "qq": 957658, "friends": ["u738bu5927u9524", "u767du5143u82b3"], "cars": [{"brand": "BYD", "max_speed": 180}, {"brand": "Audi", "max_speed": 280}, {"brand": "Benz", "max_speed": 320}]}

    sstr=json.dumps(mydict) #json.dumps()将字典对象转换成JSON格式对象
    dicc = json.loads(sstr)#json.loads()将JSON格式字符串转换成python中相应的数据格式

    json.dump(mydict,f)#将字典对象转换成JSON再保存到f打开的文件中
    dicc=json.load(f) #从打开的文件中读取JSON对象转换成python中对应数据结构再返回

    下面是相关数据结构对照:
    JSONPython
    object dict
    array list
    string str
    number (int / real) int / float
    true / false True / False
    null None
    
    
    PythonJSON
    dict object
    list, tuple array
    str string
    int, float, int- & float-derived Enums number
    True / False true / false
    None null
     

  • 相关阅读:
    前端开发 Knockout
    一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器
    七个开源的 Spring Boot 前后端分离项目
    Java老司机:把这些主流技术搞懂,拿20K没问题
    svn无法cleanup解决方案
    软件测试-1挡板测试
    电子琴
    myeclipse10激活注册码生成器代码
    LNK2005
    无法打开包含文件:"fstream.h"
  • 原文地址:https://www.cnblogs.com/CooperXia-847550730/p/11400570.html
Copyright © 2020-2023  润新知