一、文件的打开
Python中,要打开一个文件,你可以使用内置的open()函数。open()函数返回一个文件对象。
语法格式如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中file是指文件的路径、mode是指打开文件的模式、buffering是指文件读写缓冲的大小、encoding是指文件编码、errors是指处理编码过程中出现的错误方式、newline是指换行风格的指定和识别,可选项是None、'\n'、'\r'和'\r\n'等、closefd是指当文件关闭时这个文件处于同一个进程文件描述符是否被关闭、opener是指打开文件时可能使用的自定义的开启器。
在Python中,有以下几种打开文件的模式(mode):
- 'r' 读取(默认)
- 'w' 写入(会先清空文件)
- 'x' 独占写入,如果文件已存在则请求失败
- 'a' 追加写入,如果文件存在则在末尾追加写入,不存在则创建
- 'b' 二进制模式
- 't' 文本模式(默认)
- '+' 读写模式
例如:
file = open('test.txt', 'r')
这个语句打开了文件“test.txt”,并且使用“r”模式,也可简写成file = open('test.txt')。
二、读取文件
常用的读取文件的方法有两种,分别是read()和readlines()。
1. read()方法
read()方法是Python读取文件的最基本方法,可以一次性读取整个文件,将文件中的内容全部返回为一个字符串。用法如下:
file = open('test.txt')
text = file.read()
这个例子打开文件“test.txt”,然后使用read()方法读取它的所有内容,并将它保存到text变量中。
2. readlines()方法
readlines()方法会从文件中逐行读取内容,将每一行保存到一个列表中。用法如下:
file = open('test.txt')
text = file.readlines()
这个例子打开“test.txt”文件,并使用readlines()方法逐行读取它的内容,将每一行都保存到text列表中。
三、写入文件
对文件进行写入操作时,通常会使用write()和writelines()两个方法。
1. write()方法
write()方法用于写入字符串或者二进制数据到文件中,用法如下:
file = open('test.txt', 'w')
file.write('Hello, World!')
file.close()
执行上述代码后,文件“test.txt”中的内容就会变成“Hello, World!”。
2. writelines()方法
writelines()方法用于将多个字符串或二进制数据写入文件中,用法如下:
file = open('test.txt', 'w')
lines = ['line 1\n', 'line 2\n', 'line 3\n']
file.writelines(lines)
file.close()
这个例子中,先创建了一个包含多个字符串的列表lines,然后调用writelines()方法将它们写入文件“test.txt”中。
四、关闭文件
在使用完文件后,必须将文件关闭。关闭文件可以使用close()方法,用法如下:
file = open('test.txt')
text = file.read()
file.close()
这个例子打开了文件“test.txt”,并使用read()方法读取了其中内容,最后调用close()方法关闭了文件。
五、使用with语句
使用with语句可以在不用考虑关闭文件的情况下打开和关闭文件,它可以确保在语句执行完毕之后自动关闭文件。用法如下:
with open('test.txt', 'r') as f:
text = f.read()
这个例子使用了with语句打开“test.txt”文件,并用read()方法读取了它的内容,读取完后with语句自动关闭了文件。