文件用于永久存储任何数据以备将来使用。从文件读取和写入文件是任何编程语言的常见需求。任何文件在读写之前都需要打开。大多数编程语言都使用open()方法来打开文件,以便使用文件对象(file object)读写。可以使用不同类型的文件访问模式作为open()方法的参数,以说明打开文件的目的。这个参数是可选的。close()方法用于在完成文件操作后释放文件对象占用的资源。Python编程可以处理两种类型的文件。它们是文本文件和二进制文件。本教程描述了如何在Python编程中读写文本文件。
文件访问模式:
前面已经提到,open()方法中可以使用不同类型的文件访问模式,本部分将对此进行描述。常用的模式如下所述。
模式 用途t 表示一个文本文件,是默认文件类型。
b 表示一个二进制文件。
r 打开文件进行读取,这是打开任何文件的默认模式。
w 打开文件进行写入。
x 如果不存在,它将打开文件进行写入。
a 如果文件存在,它将打开文件并在文件末尾添加内容;否则,请创建文件并在文件开头添加内容。
r+ 打开文件进行读写,并将光标置于文件的开头。 如果文件不存在,则会引发错误。
w+ 打开文件进行读写,如果文件已经存在,则覆盖数据。
a+ 打开文件以进行读写,并将光标置于现有文件的文件末尾。 如果文件不存在,它将创建文件。
方法:
Python中存在许多读取或写入文件的方法。 本文详述最常用的方法。
open():
这个方法包含两个参数。第一个参数是强制性的,用于获取文件名进行读取或写入。第二个参数是可选的,用于设置文件访问模式。默认的文件访问模式是“rt”。该方法的返回类型是一个文件对象,用于读取和写入文件。
语法:
FileObject = open(“Filename”,”FileMode”)
close():
此方法用于关闭文件并使它可用于其他目的。 调用此方法后,文件处理对象将不可用。
read():
此方法用于使用文件对象从文件读取特定数量的字节。
readline():
此方法用于使用文件对象从文件读取特定行。
readlines():
此方法用于读取使用文件对象用逗号(,)分隔的文件的所有行。
write():
此方法用于使用文件对象将内容写入文件。
读取文本文件:
创建一个名为“ linuxidc.txt”的文本文件,其中包含以下内容,以在本文的下一部分中使用。
Linux公社
linuxidc.com
linuxidc
m.linuxidc.com
示例1:使用read()、readline()和readlines()读取文件
使用以下Python脚本创建一个名为linuxidc1.py的文件。 它将使用read()根据字节大小读取文件,使用readline()从文件中读取固定数量的字符,并使用readlines()读取数组中文件的所有行。
# 打开文件进行读取 FileHandler = open("linuxidc.txt","r") # 根据大小读取文件内容 print('输出来自 read() 方法\n',FileHandler.read(2048)) # 关闭文件 FileHandler.close() # 打开文件进行读写 FileHandler = open("linuxidc.txt","r+") # 读取第三行的文件内容 print('输出来自 readline() 方法\n',FileHandler.readline(5)) # 关闭文件 FileHandler.close() # 打开文件进行读取和附加 FileHandler = open("linuxidc.txt","r") # 打开文件进行读取和附加 print('输出来自 readlines() 方法\n',FileHandler.readlines()) # 关闭文件 FileHandler.close()
输出:
运行脚本后,将显示以下输出。
示例2:使用循环逐行读取文件
使用以下脚本创建一个名为linuxidc2.py的文件。 它将使用for循环从文件对象读(fileObject)取并打印文件的每一行。