python中文件操作中不同的文件操作有何差异_Python中的文件操作

一. 初识文件操作

使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操作也会有相应的差异.

打开文件的方式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使用的是r(只读)模式

二.只读,只写,追加

2.1 只读--r

顾名思义,只能读,oper(文件名,模式,编码格式),例如oper('1.TXT', mode = 'r', encoding =  'utf-8'),文件名是必须项,mode默认值是只读r,encoding默认是utf-8,但是会受到操作系统的影响,所以在win平台这个参数我都是手动设置为utf-8

f = open("1.txt",mode="r", encoding="utf-8")

content=f.read()print(content)

f.close()

打开之后记得用close关闭.f是句柄,用来操作文件,其中读取文件有read(),readline(),readlines()三个方法,第一个是把整个文件全部读出来,第二个是一次只读一行,第三个是把所有读出来,但是把每一行都放到一个列表里,返回这个列表,最后还可以用for循环句柄,每次返回一行,比如for line in f:

2.2 只写--w

w模式会覆盖掉原有内容,这是需要特别注意的

2.3 追加--a

a模式会在文件最后追加新内容,不用担心覆盖的问题了

三,plus(+)模式

3.1 读写--r+

读写模式,可以读,也可以写,但是必须是先读,因为光标默认是在文件开头,准备读取的.如果要先写,就会覆盖掉原本的内容.该模式下,如果读取了内容,不管此时光标在哪里,再写入或者操作文件的时候都是在结尾进行.

3.2 写读--w+

先清空原本内容然后写入,最后读取,但是读取到的是空的,这个模式没什么意义.有人会说先读取不就好了?nonono,该模式下,一开始是读不到内容的,渣.

3.3 追加读--a+

该模式下,先读和后读都是读不到内容的,也是渣,没用

四.b模式

其实就是各种模式下,字符换成了字节而已.

五.其他相关操作

1. seek(n)

光标移动到n位置,移动的单位是byte,所以如果是utf-8的中文记得要是3的倍数

通常我们使用这个函数都是移动到开头或者结尾.

seek(0):移动到开头

seek(0,2):移动到结尾, 第二个参数表示的是从哪里进行偏移,默认0代表开头,1代表当前位置,2代表结尾

2.tell()

使用tell()我们可以获取光标的当前位置,本人在使用该函数进行练习的时候出现了疑似buf的问题,有兴趣的可以移步链接:https://bbs.pythontab.com/thread-35039-1-1.html,期待有大能可以回答下

3.truncate(n)

该函数用来截断文件,默认从开头到当前位置,n为从开头截取n个字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值