使用Python进行文件的操作

 读文件

open(name,mode,encoding)
#name :是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
#mode:设置打开文件的模式,只读、写入、追加等
#encoding:编码格式

mode的常用三种基础访问模式

r    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式

w  打开一个文件只用于写入。如果该文件已存在则打开文件,并从头开始编辑,原有内容会被删除。如果该文件不存在,创建新文件

a  打开一个文件用于追加。如果该文件已存在,新的内容会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入

file=open("C:/Users/Administrator/Desktop/测试.txt","r",encoding="UTF-8")

 读操作的相关方法

read()方法

文件对象.read(num)

num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那就表示读取文件中所有的数据

readlines()方法

readlines可以按照行的方式把整个文件中的内容进行一次性的读取,并且返回的是一个列表,其中每一行的数据为一个元素

file=open("C:/Users/Administrator/Desktop/测试.txt","r",encoding="UTF-8")
data=file.readlines()
print(data[0])#输出第一行数据

readline()方法

一次读取一行内容

file=open("C:/Users/Administrator/Desktop/测试.txt","r",encoding="UTF-8")
data=file.readline()
print(data[0])#取出第一个字符

 for循环读取文件行
 

file=open("C:/Users/Administrator/Desktop/测试.txt","r",encoding="UTF-8")
for line in file:
    print(line)#输出每一行的数据

close()方法

关闭文件

with open() as f语法

通过该语法打开文件,可以自动关闭

with open("C:/Users/Administrator/Desktop/测试.txt","r",encoding="UTF-8") as file:
    for line in file:
        print(line)

一个小练习

统计文本中爱这个字的数量

with open("C:/Users/Administrator/Desktop/测试.txt","r",encoding="UTF-8") as file:
    count=0
    for line in file:
       for data in line:
           if(data=="爱"):
               count+=1
    print(count)

写文件

直接写

写文件有大致三部分构成,首先打开文件,其次文件写入,最后是进行内容刷新

注意:直接调用write,内容并没有真正写入文件,而是会积攒在程序的内存中,称之为缓冲区

当调用flush的时候,内容会真正写入文件

这样做是避免频繁的操作硬盘,导致效率下降

with open("C:/Users/Administrator/Desktop/测试.txt","w",encoding="UTF-8") as file:
  file.write("asdasdas")
  file.close()#close()方法包含了flush()的作用

 追加写

将mode中设置成为a,表示在内容后面追加其想要写入的内容

复制文件案例

file1=open("C:/Users/Administrator/Desktop/测试.txt","r",encoding="UTF_8")
file2=open("C:/Users/Administrator/Desktop/测试2.txt","a",encoding="UTF_8")
for line in file1.readlines():
  file2.write(line)
file1.close()
file2.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大磊程序员(“hello world”)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值