欢迎访问宙启技术站
智能推送

Python中的IO操作函数指南

发布时间:2023-06-25 02:44:18

Python是一种灵活的编程语言,其内置的IO操作函数非常多,可以帮助用户实现各种类型的数据输入和输出操作。本文将为您介绍Python中常用的IO操作函数,以帮助您更好地掌握Python的IO操作。

一、文件读取函数

1. open()

open()函数是Python的一个内置函数,用于打开文件。语法如下:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

其中,file是文件路径和名称组成的字符串,mode是打开文件的模式(默认为r),缓冲区为buffering(默认为-1,表示使用系统默认值),encoding是指定编码格式(默认为None),errors是指定编码错误处理方式(默认为None),newline是指定换行符类型(默认为None,表示使用系统默认值)。

返回值为文件对象。

例如,如果我们要读取test.txt文件的内容,可以使用以下代码:

f = open("test.txt", "r")
print(f.read())

2. close()

close()函数用于关闭文件。语法如下:

f.close()

其中f为文件对象。

例如,我们可以通过以下代码关闭刚才打开的test.txt文件:

f = open("test.txt", "r")
print(f.read())
f.close()

3. read()

read()函数用于读取文件内容。语法如下:

f.read(size=-1)

其中f为文件对象,size为要读取的字节数(默认为-1,表示读取整个文件)。

例如,如果我们要读取test.txt文件中前5个字节的内容,可以使用以下代码:

f = open("test.txt", "r")
print(f.read(5))
f.close()

4. readline()

readline()函数用于逐行读取文件内容。语法如下:

f.readline(size=-1)

其中f为文件对象,size为要读取的字节数(默认为-1,表示读取整行)。

例如,如果我们要逐行读取test.txt文件的内容,可以使用以下代码:

f = open("test.txt", "r")
print(f.readline())
f.close()

5. readlines()

readlines()函数用于读取整个文件的内容,并返回一个字符串列表。语法如下:

f.readlines(hint=-1)

其中f为文件对象,hint是为了提高性能而指定的读取字节数(默认为-1,表示一次性读取整个文件)。

例如,如果我们要读取test.txt文件的内容,并将每一行输出为一个元素,可以使用以下代码:

f = open("test.txt", "r")
print(f.readlines())
f.close()

二、文件写入函数

1. write()

write()函数用于向文件中写入数据。语法如下:

f.write(string)

其中f为文件对象,string为要写入的字符串。

例如,如果我们要向test.txt文件中写入一行"Hello, World!",可以使用以下代码:

f = open("test.txt", "w")
f.write("Hello, World!")
f.close()

2. writelines()

writelines()函数用于向文件中写入多行数据。语法如下:

f.writelines(iterable)

其中f为文件对象,iterable为写入的数据列表。

例如,如果我们要向test.txt文件中写入三行数据,可以使用以下代码:

f = open("test.txt", "w")
f.writelines(["Hello, World!
", "Python is great!
", "Goodbye, World!"])
f.close()

3. flush()

flush()函数用于刷新文件缓冲区,将缓冲区中的内容立即写入文件。语法如下:

f.flush()

其中f为文件对象。

例如,如果我们要向test.txt文件中写入一行"Hello, World!",但是想要立刻将其写入文件,可以使用以下代码:

f = open("test.txt", "w")
f.write("Hello, World!")
f.flush()
f.close()

三、文件定位函数

1. seek()

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

f.seek(offset, whence)

其中f为文件对象,offset为要移动的偏移量,whence为起始位置(默认为0,表示文件开头;1表示当前位置;2表示文件末尾)。

例如,如果我们要移动文件指针到文件开头,可以使用以下代码:

f = open("test.txt", "r")
f.seek(0)
print(f.read())
f.close()

2. tell()

tell()函数用于返回文件指针的位置,即当前读取的字节数。语法如下:

f.tell()

其中f为文件对象。

例如,如果我们要读取test.txt文件的前5个字节并返回文件指针位置,可以使用以下代码:

f = open("test.txt", "r")
print(f.read(5))
print(f.tell())
f.close()

四、文件操作模式

1. r模式

r模式用于只读操作,打开文件时文件指针位于文件开头。如果文件不存在,则抛出FileNotFoundError异常。

例如,以下代码尝试读取不存在的文件test.txt:

f = open("test.txt", "r")

会产生以下异常:

FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

2. w模式

w模式用于写操作,打开文件时文件指针位于文件开头。如果文件不存在,则会创建文件。如果文件已存在,则会清空文件内容。

例如,以下代码使用w模式新建文件test.txt并写入一行"Hello, World!":

f = open("test.txt", "w")
f.write("Hello, World!")
f.close()

3. a模式

a模式用于追加操作,打开文件时文件指针位于文件末尾。如果文件不存在,则会创建文件。

例如,以下代码使用a模式向文件test.txt中追加一行"Goodbye, World!":

f = open("test.txt", "a")
f.write("Goodbye, World!")
f.close()

综上所述,本文介绍了Python中常用的IO操作函数及文件操作模式。这些函数和模式可以帮助您更好地操作文件,实现各种输入和输出操作。希望这篇文章可以帮助您更好地掌握Python的IO操作。