17、Python相关-【文件操作】文件读取与文件写入

文章目录

前言

1.文件读取

2.文件写入


前言

文件的处理包括读文件和写文件,读写文件就是请求操作系统打开一个文件对象,然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。


1.文件读取

  • 文件读取可分为以下步骤:

    (1)打开文件

    (2)读取文件内容

    (3)关闭文件

  • 打开文件要使用open内建函数:

    open(file [, mode='r', encoding=None, errors=None])

    参数说明: file:文件路径,可以是相对路径和绝对路径

    mode:文件打开模式 encodeing: 文件编码方式,不用于二进制文件,一般是utf-8,gbk

    errors:指定如何处理编码和解码错误 ,适用于文本文件

        返回值:一个可迭代的文件对象

        

mode解释
r只读
w只写,写之前会清空文件的内容,如果文件不存在,会创建新文件
a追加的方式,在原本内容中继续写,如果文件不存在,则会创建新文件
r+可读可写
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
brb、wb、ab、rb+、wb+、ab+意义和上面一样,用于二进制文件操作

注意:二进制文件一般用于视频、音频、图片

读取文件常用函数:

函数解释
read([size])读取文件(读取size字符,默认读取全部)
readline([size])读取一行,如果指定size,将读入指定的字符数
readlines()把文件内容按行全部读入,返回一个包含所有行的列表

  • 代码示例:
#打开文件
fp = open('qfile.txt','r',encoding='utf-8') 

#读取文件全部内容
#content = fp.read()  
#print(content)

#读取指定字符数,包括行尾的换行符\n
# print(fp.read(20))

#读取一行
# print(fp.readline(5))  #读取指定字符数
# print(fp.readline())  #读取一整行,直到碰到一个\n

#读取所有行,返回列表
# print(fp.readlines())  

#关闭文件
fp.close() 

#由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。
# 所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:
# try:
#     fp = open('qfile.txt','r',encoding='utf-8')
#     print(fp.readlines())
# finally:
#     fp.close()
#可以简写为:
#with语句会自动调用close方法关闭文件
with open('qfile.txt','r',encoding='utf-8')  as fp:
    print(fp.readline())
#fread()和freadlines()会一次读入文件全部内容,如果文件太大,会直接耗尽内存的,因为文件对象可迭代,所以可以用for循环遍历文件读取
with open('qfile.txt','r',encoding='utf-8')  as fp:
    for line in fp:
        print(line.strip())   #注意无论是read、readline、readlines都会读入行末的\n,所以需要手动剔除\n

2.文件写入

  • 代码示例:
path = "file11.txt"

#1.打开文件
f = open(path,"w",encoding="utf-8")

#2.写入内容,将内容写入到缓冲区
#不会自动换行,需要换行的话,需要在字符串末尾添加换行符
f.write("Whatever is worth doing is worth doing well该行很骄傲很关键\n")


#3.刷新缓冲区【加速数据的流动,保证缓冲区的流畅】
f.flush()

#4.关闭文件  关闭文件也会刷新缓冲区
f.close()

#简写方式:可以不用手动调用close
with open(path,"w",encoding="utf-8") as f1:
    f.write("Whatever is worth doing is worth doing well该行很骄傲很关键")


总结

以上是对文件读取与文件写入的讲解!

 

关注公众号“软件测试技术联盟”,发送“测试资料”,免费获取全栈软件测试视频资料!!!

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值