Python读写文件
Python通常使用open(name[, mode[, buffering]])
指定文件名、操作模式、编码信息等对文件进行读写。其中mode
指打开文件的模式:
操作模式 | 含义 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
w | 写入,会截断之前写入的内容 |
x | 写入,如果文件已经存在会产生异常 |
a | 追加,将文件写入原有文件的末尾 |
b | 二进制模式 |
t | 文本模式(默认) |
+ | 更新,既可以读又可以写 |
举个例子
def main():
f = open('致橡树.txt', 'r', encoding='utf-8')
print(f.read())
f.close()
if __name__ == '__main__':
main()
python文件编码说明:#-*-coding:gbk-*-
在读写文件时,通过encoding
函数指定编码
Python异常机制
def main():
try:
with open('read.txt','r',encoding='utf-8') as f:
print(f.read())
except FileNotFoundError:
print('无法打开指定文件')
except LookupError:
print('指定了未知的编码')
except UnicodeDecodeError:
print('读文件时解码错误')
if __name__ == '__main__':
main()
- FileNotFoundError 无法找到文件
- LookupError 指定未知的编码
- UnicodeDecodeError 读取文件时没有按指定的编码解码
Python读写json文件
json中数据类型与Python中数据类型的对应关系
Json | Python |
---|---|
object | dict |
array | list |
string | str |
number(int/real) | int/float |
true/false | True/Flase |
null | None |
Json模块主要的四个比较重要的函数:
dump | 将python对象按照Json格式序列化到文件中 |
---|---|
dumps | 将python对象处理成Json格式的字符串 |
load | 将文件中的Json数据反序列化成对象 |
loads | 将字符串的内容反序列化成Python对象 |
序列化(serialization)
在计算机科学的数据处理中,是指将数据结构或对象状态转换为可以存储或传输的形式,这样在需要的时候能够恢复到原先的状态,而且通过序列化的数据重新获取字节时,可以利用这些字节来产生原始对象的副本(拷贝)。与这个过程相反的动作,即从一系列字节中提取数据结构的操作,就是反序列化(deserialization)