Python中的文件处理

 一.文件处理的内容:

  •                          python文件打开
  •                          python文件读取
  •                          python文件写入和创建
  •                          python文件删除

 1.文件打开及读取

 文件的打开有四种方式

.l."r"是读取模式,只能读取,文件必须存在,如果不存在,会出现异常;

ll."w"是写入模式,如果文件不存在,就会新建一个文件,如果文件存在,那么写入的内容会覆盖原来的文件内容;

lll."a"是追加模式,若文件存在,要追加的内容会出现在文件末尾的下一行,若文件不存在,会新建一个文件,并写入内容;

lv."x"是创建指定的文件,如果文件存在则返回错误。

2.文件打开及读取需要运用open()函数来实现

open()函数中有两个参数:文件名和打开模式

例如:

f=open("D:/scores.txt","r",encoding="ANSI")

print(f.read())


将scores文件中的内容读取出来,运行结果为:

魔法作业成绩

罗恩:23 35 44

哈利:60 77 68 88 90

赫敏:97 99 89 91 95 90

马尔福:100 85 90

其中:1.encoding=""代表的是编码格式,由于编码方式的不同,可能会出现乱码,甚至会报错。一般为uft-8。

2.read方法的使用

  • read()函数是直接读取整个文件的内容
  • readline()是读取文件中的第一行,输出两次print(f.readline())可以读取文件中的前两行

#eg:

f=open("D:/scores.txt","r",encoding="ANSI")

print(f.raedline())

print(f.readline())


运行结果为:

魔法作业成绩

罗恩:23 35 44

可见如果只用readline来读取整个文件比较麻烦,可以使用readlines()

  • readlines()函数,使用它来读取文件可以将所有的数据一行的形式存放到列表中

f=open("D:/scores.txt","r")

s=f.readlines()

print(s)


运行结果为:

['魔法作业成绩\n','罗恩:23 35 44\n','哈利:60 77 68 88 89\n','赫敏:97 99 89 91 95\n','马尔福:100 85 90']

也可以使用for循环,与read()函数一样,可以读取整个文件的内容

f=open("D:/scores.txt","r")

for line in f.readlines():

     print(line)


运行结果为:

魔法作业成绩

罗恩:23 35 44

哈利:60 77 68 88 90

赫敏:97 99 89 91 95 90

马尔福:100 85 90

3.文件写入及创建:

可以用w重新写一个不存在的文件

os=open("D:/scores1.txt","w")

os.write("Hello mom")   

#Hello mom 是写入的内容,创建完文件之后应将文件关闭

os.close()


运行之后,我们可以根据path(路径)来找到这个文件,并且文件内容是Hello mom

也可以使用w模式写入文件内容,将原来文件中的内容覆盖。

os=open("D:/scores.txt","w")

os.write("Hello mom ")

os.close()


这样运行的话scores文件中的内容会变成Hello mom,而不是原来的内容

可以使用"a"模式在文件末尾追加内容

os=open("D:/scores1.txt","a")

os.write("Hello dad")

os.close()


这样运行之后查看文件内容,可以发现为

Hello mom

Hello dad

而"a+"模式是挨着文件的末尾不换行添加一些内容eg:

os=open("D:/scores1.txt","a+")

os.write("brother")

os.close()


运行之后查看scores文件内容,会发现内容变为了

Hello mom

Hello dad brother

4.文件的删除

如需删除文件需要导入OS模块,并运行os.remove()函数

eg:

import os

os.remove("scores1.txt")

如需删除整个文件夹,可以使用os.rmdir()方法

eg:删除"img_ns_save"文件夹

import os

os.rmdir("img_ns_save")

#只能删除空文件夹

为避免出现错误,在删除文件之前可以检查文件是否存在(当然我们删除的文件一定是存在的,刚刚创建的)

import os

if os.path.exists("scores1.txt"):

     os.remove("scores1.txt")

else:

     print("The file does not exist " )

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值