python学习笔记:文件操作

本文详细介绍了Python中文件操作的基本步骤,包括打开和关闭文件、文件的读写操作及文件指针的使用。通过示例讲解了open()、close()、write()、read()、readline()、readlines()、tell()和seek()函数的用法,帮助读者掌握Python文件操作的核心技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python文本文件操作

文件操作是编程中常见的操作,这次,主要总结一下python中的文本文件操作。

一般来讲,文件的操作流程如下:
(1)打开文件
(2)对文件的内容进行读取,写入,删除,修改等
(3)关闭文件

打开和关闭文件

打开文件和关闭文件是文件操作的第一步和最后一步。

1、打开文件

打开文件的时候我们需要使用函数open(),其调用的一般形式如下:

文件对象=open(文件名,使用文件的方式)

注意:
常用的文件使用方式如下:

在这里插入图片描述

2、关闭文件

在对文件的修改完毕后,最后我们要释放文件资源,也就是关闭掉之前打开的文件,这时候,我们需要使用close()函数,其使用形式如下(其中文件对象是之前打开文件时返回的文件对象):

文件对象.close()

文件的写操作

在文本文件中,常用的写操作是借助write函数,它的功能是把字符写入指定的文件中,其调用的形式如下∶

文件对象.write(s)

其中,文件对象是open函数返回的文件对象,s是待写入文件的字符串。

结合之前在open()函数处的三种文件打开方式,我们可以知道,在使用write()函数要明确以下内容:

1、要执行写操作,则文件需要用wt或者at方式打开

2、wt方式打开的文件,在执行写操作时,会覆盖掉文件中之前存在的内容

3、at方式打开的文件,在执行写操作时,会在原有文件末尾上进行追加操作,不会发生覆盖

在这里插入图片描述

文件的读操作

在文本文件中,常用的读操作有如下几种。

1、read()函数

read()函数的功能是从指定的文件中读取字符,其调用的方式有两种:

  • 方式一:
文件对象.read()

该方式不指定读取的字符数,可以读取到文件的全部内容。

在这里插入图片描述

  • 方式二:
文件对象.read(n)

该方式指定了要读取的字符数,假设文件的字符数<指定字符数,则读取文件全部内容。

在这里插入图片描述
注意:
不管是以上哪种方式,只要文件指针已经到了文件的尾部,再读就返回一个空串。

2、readline()函数

  • 功能:读取指定文件中的一行的内容,读取的规则是在文件中连续读取字符组成字符串,直读到’\n’字符或者读到文件尾部为止。(如果读到\n’,那么返回的字符串包含\n’。如果到了文件尾部,再次读就读到一个空字符串)

  • 调用方式:

文件对象.readline()

在这里插入图片描述

3、readlines()函数

  • 功能:读取指定文件的所有行的内容,其读取规则如下:它返回所有的行字符串,每行是用"\n"分开的,而且一行的结尾如果是"\n",则包含"\n"。

一般要再次使用for循环从readlines中提取每一行。

  • 调用方式:
文件对象.readlines()

在这里插入图片描述

文件指针操作

指针的实质就是地址,文件指针其作用就是告诉我们目前操作进行到文件的哪个位置了。一般来说,文件的指针操作由如下几种。

1、tell()函数

  • 功能:获取当前文件指针的位置(定位)

  • 调用方式:

文件对象.tell()   # 返回一个整数。

在这里插入图片描述

2、seek()函数

  • 功能:移动指针位置(移位)

  • 调用方式:

文件对象seek(offse,whence)

注意:
offset:偏移量(移动的字节数)
whence:可选,默认值为o。表示要从哪个位置开始偏移,0代表从文件开头偏移,1代表从当前位置开始偏移,2代表从文件结尾偏移

  • 使用条件:
    当文件使用以下方式打开时,才可以进行移位操作。

在这里插入图片描述

print("文件内容写入ing:")
f=open("test.txt","wt+")
print(f.tell())
s=f.write("abcd")
print(f.tell())
f.seek(2)#默认从文件开始部分偏移
print(f.tell())
s=f.write("123")
print(f.tell())
f.close()

f=open("test.txt","rt+")
s=f.read()
print("读取文件内容:\n",s)
f.close()

在这里插入图片描述
图解写入操作的指针位置:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值