python中的文件(读,写,添加,关闭)

一、 操作文件的函数/方法

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
这里写图片描述
这里写图片描述

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值