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": "\u9a86\u660a", "age": 38, "qq": 957658, "friends": ["\u738b\u5927\u9524", "\u767d\u5143\u82b3"], "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
 

posted @ 2019-08-23 16:00  Cooper_Xia  阅读(213)  评论(0编辑  收藏  举报