一、 操作文件的函数/方法
1、在python中要操作文件需要记住的1个函数和3个方法
#python中一切皆为对象
open :打开文件,并且返回文件的操作对象
read:将文件的内容读取到内存中
write:将指定文件内容写入文件
close:关闭文件
open函数负责打开文件,并且返回文件对象
read/write/close三个方法都需要通过文件对象来调用
read 方法–读取文件
open函数的第一个参数是要打开的文件名(文件名区分大小写)
如果文件存在,返回文件操作对象
如果文件不存在,会抛出异常
read方法可以一次性读如并返回文件的所有内容
close方法负责关闭文件
实例1
2、 文件指针
文件指针标记从哪个位置开始读取数据
第一次打开文件时,通常文件指针会指向文件的开始位置
当执行了read方法后,文件的指针会移动到读取内容的末尾
实例
结果显示
实例:打印文件的类型和长度
结果显示
实例3:从指定路径读取文件
结果显示
3、打开文件的方式:
name = open('文件名','访问方式')
实例1
name = open(‘RAEDME‘,w)
打开文件的同时并且写入相关的信息,但是写入信息时,会覆盖原来的信息,每执行一次,重新写入一条信息,只不过因为信息每次都会被覆盖。
结果显示
实例2
name = open(‘RAEDME‘,a)
在已有的文件信息后面添加数字1,它是紧跟再这一行后面,每一次打开文件之后都必须关闭文件
结果显示:由下图可以看出linux后面已经添加了数字1这个信息
4、按行读取文件
read方法默认会将文件的所有内容一次性读到内存,如果文件太大,对内存的占用会非常严重
readline方法
readline方法可以一次性读取一行的内容
方法执行后,会将文件指针移动到下一行,准备再次读取
实例
文件的内容如下:
按行读取文件
结果显示
5、复制文件
按指定路径打开文件,并且它复制,命名复制的文件的名称!
实例:
结果显示
二、with …. as..(以这种形式打开的文件是不需要关闭文件的)
关键字with在不需要访问文件后将其关闭,在这个程序中,我们调用了open(),但没有调用close();你也可以调用open()和close来打开和关闭文件,但这样做时,如果程序存在bug,导致close()语句没有执行,文件将不会关闭,来妥善的关闭文件可能会导致数据数据丢失或受损失
如果在程序中过早的调用close(),你会发现需要使用文件时已经关闭(无法访问),这会导致更多的错误,你并非再任何请概况下都能轻松的关闭文件的恰当时机
通过使用with结构,可以让python去确定,python会在合适的时候自动将其关闭
实例1:查看文件内容
文件的内容
结果显示
实例2:查看文件的内容
打开westos文件,然后逐行显示
结果显示
实例3:查看文件的内容
结果显示:读文件时侯,每次只能读一行,所以只显示hello
实例2和实例3两者的区别在于,实例2将整个文件的内容全部输出,而实例三只是输出了第一行内容,在python中执行文件的时侯,每一次都是按照行读取的
实例4:往文件里写入信息
结果显示
实例5:添加信息
结果显示
三、数据的存储
实例1
结果显示
实例2:以交互式的方式写入信息
结果显示:当我们每执行一次,那么将会覆盖之前的结果
实例3:加载文件的内容
结果显示
实例4:综合应用,加载文件内容,并且用捕获异常的方式处理异常情况
结果显示
当username.json文件里没有信息时候,那么处理异常情况,此时会出现一条提示语句,你的名字叫什么?同时打开文件的同时写入名字,输出信息
当文件username.json文件里面有信息时,那么输出以下信息:welcom back lucy