zoukankan      html  css  js  c++  java
  • 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
     

  • 相关阅读:
    训练总结
    图论--最短路--SPFA模板(能过题,真没错的模板)
    图论--最短路-- Dijkstra模板(目前见到的最好用的)
    The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)
    关于RMQ问题的四种解法
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 K题 center
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 XKC's basketball team
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 D Carneginon
    ZOJ 3607 Lazier Salesgirl (枚举)
    ZOJ 3605 Find the Marble(dp)
  • 原文地址:https://www.cnblogs.com/CooperXia-847550730/p/11400570.html
Copyright © 2011-2022 走看看