Python读取文件以及异常处理

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)

你可能感兴趣的:(python从安装开始学)