首页 > 编程知识 正文

Python读取文件用法介绍

时间:2023-11-21 19:49:06 阅读:292771 作者:IVPB

本文将从以下几个方面对Python读取文件做详细的阐述:文件打开与关闭、读取文件内容、写入文件、常用的文件读写模式、文件对象的方法等。通过本文的学习,读者将深入理解Python读取文件的方法,进而运用到实际的开发中。

一、文件打开与关闭

在Python中,要想读取或写入文件,必须先将文件打开。文件打开的语法如下:

file = open(file_name [, access_mode][, buffering])

其中,参数说明如下:

  • file_name:文件名字,可以包含路径。
  • access_mode:文件打开模式,可选,有以下几种方式:
模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即会覆盖之前的内容。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即会覆盖之前的内容。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即会覆盖之前的内容。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。即新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。即新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。
  • buffering:缓冲大小,可选,如果buffering的值被设为0,就不会有缓冲;如果buffering的值被设为1,访问文件时会寻找缓冲,如果没有缓冲,就会创建一个缓冲;如果buffering的值大于1,则它指示了缓冲区的大小,缓冲区中的数据被写满或读满后,才会被操作系统提取。

文件打开后,操作完成之后务必关闭文件,以释放资源。文件关闭的语法如下:

file.close()

示例代码如下:

# 打开一个文件
file = open("file.txt", "r")

# 对文件进行操作

# 关闭文件
file.close()

二、读取文件内容

在Python中,可以使用以下几种方式来读取文件的内容。

1、read()方法

read()方法用于读取文本文件中的内容,并返回字符串形式的文件内容。语法如下:

file.read([size])

其中,参数size是可选的,代表读取的字符数。如果没有指定size,则会读取全部文件内容。

示例代码如下:

file = open("file.txt", "r")
content = file.read()
print(content)
file.close()

2、readline()方法

readline()方法用于一次读取一行。语法如下:

file.readline()

示例代码如下:

file = open("file.txt", "r")
while True:
    line = file.readline()
    if not line:
        break
    print(line)
file.close()

3、readlines()方法

readlines()方法用于读取所有行,并以列表形式返回文件内容。语法如下:

file.readlines()

示例代码如下:

file = open("file.txt", "r")
lines = file.readlines()
for line in lines:
    print(line)
file.close()

三、写入文件

在Python中,要向文件写入内容,可以使用以下方式。

1、write()方法

write()方法用于向文件中写入指定字符串。语法如下:

file.write(str)

其中,参数str是要写入文件的内容。

示例代码如下:

file = open("file.txt", "w")
file.write("Hello, world!")
file.close()

2、writelines()方法

writelines()方法用于向文件中写入多行内容。语法如下:

file.writelines(sequence)

其中,参数sequence是要写入文件的内容列表。

示例代码如下:

file = open("file.txt", "w")
lines = ["Line 1n", "Line 2n", "Line 3n"]
file.writelines(lines)
file.close()

四、常用的文件读写模式

Python提供了以下几种文件读写模式:

  • r:只读模式,文件指针放在文件开头。
  • r+:读写模式,文件指针放在文件开头。
  • w:只写模式,文件指针放在文件开头,会覆盖文件内容,如果文件不存在则创建新文件。
  • w+:读写模式,文件指针放在文件开头,会覆盖文件内容,如果文件不存在则创建新文件。
  • a:只写模式,文件指针放在文件结尾,追加数据。
  • a+:读写模式,文件指针放在文件结尾,追加数据。
  • b:二进制模式。
  • t:文本模式。

五、文件对象的方法

在Python中,文件对象还有以下几个方法可供使用。

1、tell()方法

tell()方法用于返回文件的当前位置,即文件指针的位置。语法如下:

file.tell()

2、seek()方法

seek()方法用于移动文件指针到指定位置。语法如下:

file.seek(offset[, whence])

其中,参数offset是指要移动的字符数,whence参数可选,默认值为0,表示从文件开头计算。它有以下三种取值:

  • 0:从文件开头开始计算
  • 1:从当前位置开始计算
  • 2:从文件结尾开始计算

示例代码如下:

file = open("file.txt", "r")
file.seek(5)
content = file.read()
print(content)
file.close()

3、truncate()方法

truncate()方法用于截断文件到指定长度。语法如下:

file.truncate([size])

其中,参数size是要截断的长度,如果不指定,则截断到当前位置。注意,如果文件已经是要截断的长度,则truncate()方法不会产生任何效果。

示例代码如下:

file = open("file.txt", "w")
file.write("Hello, world!")
file.truncate(5)
file.close()

4、flush()方法

flush()方法用于刷新文件缓冲区,即将缓冲区的内容立即写入文件,而不是等到缓冲区满了再写入。语法如下:

file.flush()

六、完整代码示例

下面是一个读写文件的完整示例代码:

# 打开文件
file = open("file.txt", "w+")

# 写入文件
file.write("Hello, world!")

# 移动指针
file.seek(0)

# 读取文件
content = file.read()
print(content)

# 关闭文件
file.close()

读写文件是Python每个程序员必学的基础操作,希望通过本文的学习,读者能够掌握Python读写文件的方法,并在实际开发中灵活运用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。